1
1

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.
Этот коммит содержится в:
Ralph Castain 2005-10-10 02:45:50 +00:00
родитель 6c839048cf
Коммит a47655b3fd

Просмотреть файл

@ -72,10 +72,11 @@ int orte_gpr_replica_process_callbacks(void)
/* Since this requestor is "local", we simply execute /* Since this requestor is "local", we simply execute
* the callbacks ourself. * the callbacks ourself.
*/ */
OPAL_THREAD_UNLOCK(&orte_gpr_replica_globals.mutex);
if (ORTE_SUCCESS != (rc = orte_gpr_replica_deliver_notify_msg(cb->message))) { if (ORTE_SUCCESS != (rc = orte_gpr_replica_deliver_notify_msg(cb->message))) {
ORTE_ERROR_LOG(rc); ORTE_ERROR_LOG(rc);
} }
OPAL_THREAD_LOCK(&orte_gpr_replica_globals.mutex);
} else { /* remote request - send messages back */ } else { /* remote request - send messages back */
orte_gpr_replica_remote_notify(cb->requestor, cb->message); orte_gpr_replica_remote_notify(cb->requestor, cb->message);
} }