1
1

Let the oob to call opal_progress instead of opal_progress_event. Now, the MPI

communications will be advanced in MPI_Finalize.

This commit was SVN r9442.
Этот коммит содержится в:
George Bosilca 2006-03-28 22:09:40 +00:00
родитель ae85aae6e5
Коммит 50b5a02f8b
3 изменённых файлов: 12 добавлений и 7 удалений

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

@ -29,7 +29,7 @@
#include "orte/mca/ns/ns_types.h"
#include "opal/class/opal_free_list.h"
#include "opal/class/opal_hash_table.h"
#include "opal/event/event.h"
#include "opal/runtime/opal_progress.h"
#include "opal/threads/mutex.h"
#include "opal/threads/condition.h"
#include "orte/mca/oob/tcp/oob_tcp_peer.h"

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

@ -75,8 +75,9 @@ int mca_oob_tcp_msg_wait(mca_oob_tcp_msg_t* msg, int* rc)
if(opal_event_progress_thread()) {
int rc;
OPAL_THREAD_UNLOCK(&msg->msg_lock);
rc = opal_event_loop(OPAL_EVLOOP_ONCE);
assert(rc >= 0);
opal_progress();
/*rc = opal_event_loop(OPAL_EVLOOP_ONCE);
assert(rc >= 0);*/
OPAL_THREAD_LOCK(&msg->msg_lock);
} else {
opal_condition_wait(&msg->msg_condition, &msg->msg_lock);
@ -87,7 +88,8 @@ int mca_oob_tcp_msg_wait(mca_oob_tcp_msg_t* msg, int* rc)
#else
/* wait for message to complete */
while(msg->msg_complete == false)
opal_event_loop(OPAL_EVLOOP_ONCE);
opal_progress();
/*(void)opal_event_loop(OPAL_EVLOOP_ONCE);*/
#endif
/* return status */
@ -119,8 +121,9 @@ int mca_oob_tcp_msg_timedwait(mca_oob_tcp_msg_t* msg, int* rc, struct timespec*
if(opal_event_progress_thread()) {
int rc;
OPAL_THREAD_UNLOCK(&msg->msg_lock);
rc = opal_event_loop(OPAL_EVLOOP_ONCE);
assert(rc >= 0);
opal_progress();
/*rc = opal_event_loop(OPAL_EVLOOP_ONCE);
assert(rc >= 0);*/
OPAL_THREAD_LOCK(&msg->msg_lock);
} else {
opal_condition_timedwait(&msg->msg_condition, &msg->msg_lock, abstime);
@ -133,7 +136,8 @@ int mca_oob_tcp_msg_timedwait(mca_oob_tcp_msg_t* msg, int* rc, struct timespec*
while(msg->msg_complete == false &&
((uint32_t)tv.tv_sec <= secs ||
((uint32_t)tv.tv_sec == secs && (uint32_t)tv.tv_usec < usecs))) {
opal_event_loop(OPAL_EVLOOP_ONCE);
/*(void)opal_event_loop(OPAL_EVLOOP_ONCE);*/
opal_progress();
gettimeofday(&tv,NULL);
}
#endif

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

@ -34,6 +34,7 @@
#include "orte/mca/ns/ns_types.h"
#include "oob_tcp_msg.h"
#include "oob_tcp_addr.h"
#include "opal/event/event.h"
/**
* the state of the connection