Skip to content

Commit 4badbb1

Browse files
committed
osc/pt2pt: Make sure to grab the component lock when accessing the free list
1 parent 1b403e8 commit 4badbb1

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

ompi/mca/osc/pt2pt/osc_pt2pt_request.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ OBJ_CLASS_DECLARATION(ompi_osc_pt2pt_request_t);
4040
do { \
4141
opal_free_list_item_t *item; \
4242
do { \
43-
item = opal_free_list_get (&mca_osc_pt2pt_component.requests); \
43+
OPAL_THREAD_SCOPED_LOCK(&mca_osc_pt2pt_component.lock, \
44+
item = opal_free_list_get (&mca_osc_pt2pt_component.requests)); \
4445
if (NULL == item) { \
4546
opal_progress(); \
4647
} \
@@ -58,8 +59,9 @@ OBJ_CLASS_DECLARATION(ompi_osc_pt2pt_request_t);
5859
do { \
5960
OMPI_REQUEST_FINI(&(req)->super); \
6061
(req)->outstanding_requests = 0; \
61-
opal_free_list_return (&mca_osc_pt2pt_component.requests, \
62-
(opal_free_list_item_t *) (req)); \
62+
OPAL_THREAD_SCOPED_LOCK(&mca_osc_pt2pt_component.lock, \
63+
opal_free_list_return (&mca_osc_pt2pt_component.requests, \
64+
(opal_free_list_item_t *) (req))); \
6365
} while (0)
6466

6567
static inline void ompi_osc_pt2pt_request_complete (ompi_osc_pt2pt_request_t *request, int mpi_error)

0 commit comments

Comments
 (0)