Add unlock/lock around the delivery of a local callback to remove thread-lock condition if the callback function attempts to re-enter the registry.
This commit was SVN r7678.
Этот коммит содержится в:
родитель
6c839048cf
Коммит
a47655b3fd
@ -72,10 +72,11 @@ int orte_gpr_replica_process_callbacks(void)
|
||||
/* Since this requestor is "local", we simply execute
|
||||
* the callbacks ourself.
|
||||
*/
|
||||
OPAL_THREAD_UNLOCK(&orte_gpr_replica_globals.mutex);
|
||||
if (ORTE_SUCCESS != (rc = orte_gpr_replica_deliver_notify_msg(cb->message))) {
|
||||
ORTE_ERROR_LOG(rc);
|
||||
}
|
||||
|
||||
OPAL_THREAD_LOCK(&orte_gpr_replica_globals.mutex);
|
||||
} else { /* remote request - send messages back */
|
||||
orte_gpr_replica_remote_notify(cb->requestor, cb->message);
|
||||
}
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user