Merge pull request #1131 from hjelmn/osc_fixes
osc/rdma: fix some threading bugs
Этот коммит содержится в:
Коммит
1a0882ffb2
@ -998,7 +998,7 @@ static int ompi_osc_rdma_component_select (struct ompi_win_t *win, void **base,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* initialize the objects, so that always free in cleanup */
|
/* initialize the objects, so that always free in cleanup */
|
||||||
OBJ_CONSTRUCT(&module->lock, opal_mutex_t);
|
OBJ_CONSTRUCT(&module->lock, opal_recursive_mutex_t);
|
||||||
OBJ_CONSTRUCT(&module->outstanding_locks, opal_hash_table_t);
|
OBJ_CONSTRUCT(&module->outstanding_locks, opal_hash_table_t);
|
||||||
OBJ_CONSTRUCT(&module->pending_posts, opal_list_t);
|
OBJ_CONSTRUCT(&module->pending_posts, opal_list_t);
|
||||||
OBJ_CONSTRUCT(&module->peer_lock, opal_mutex_t);
|
OBJ_CONSTRUCT(&module->peer_lock, opal_mutex_t);
|
||||||
|
@ -73,9 +73,7 @@ static inline int ompi_osc_rdma_frag_alloc (ompi_osc_rdma_module_t *module, size
|
|||||||
module->rdma_frag = NULL;
|
module->rdma_frag = NULL;
|
||||||
|
|
||||||
if (curr) {
|
if (curr) {
|
||||||
OPAL_THREAD_UNLOCK(&module->lock);
|
|
||||||
ompi_osc_rdma_frag_complete (curr);
|
ompi_osc_rdma_frag_complete (curr);
|
||||||
OPAL_THREAD_LOCK(&module->lock);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
item = opal_free_list_get (&mca_osc_rdma_component.frags);
|
item = opal_free_list_get (&mca_osc_rdma_component.frags);
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user