1
1

post non-blocking recv before processing callbacks - as callback

could block - waiting for a gpr subscription

This commit was SVN r5361.
Этот коммит содержится в:
Tim Woodall 2005-04-14 21:08:03 +00:00
родитель 0ac08d5f49
Коммит eb7bf1ca58

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

@ -62,15 +62,14 @@ void orte_gpr_replica_recv(int status, orte_process_name_t* sender,
ompi_output(0, "gpr replica: msg processing complete - processing callbacks");
}
/* reissue the non-blocking receive before processing callbacks */
orte_rml.recv_buffer_nb(ORTE_RML_NAME_ANY, ORTE_RML_TAG_GPR, 0, orte_gpr_replica_recv, NULL);
/* be sure to process callbacks before returning */
if (ORTE_SUCCESS != (rc = orte_gpr_replica_process_callbacks())) {
ORTE_ERROR_LOG(rc);
}
OMPI_THREAD_UNLOCK(&orte_gpr_replica_globals.mutex);
/* reissue the non-blocking receive */
orte_rml.recv_buffer_nb(ORTE_RML_NAME_ANY, ORTE_RML_TAG_GPR, 0, orte_gpr_replica_recv, NULL);
return;
}