From 142b7cc6829443fb358e86f26bc60957c3450c4e Mon Sep 17 00:00:00 2001 From: Tim Woodall Date: Wed, 16 Nov 2005 17:10:49 +0000 Subject: [PATCH] merge from release branch This commit was SVN r8167. --- ompi/mca/btl/mvapi/btl_mvapi_endpoint.c | 4 +++- orte/mca/iof/base/iof_base_flush.c | 7 +++++++ orte/mca/rmgr/urm/rmgr_urm.c | 12 ------------ orte/mca/rmgr/urm/rmgr_urm_component.c | 14 ++------------ 4 files changed, 12 insertions(+), 25 deletions(-) diff --git a/ompi/mca/btl/mvapi/btl_mvapi_endpoint.c b/ompi/mca/btl/mvapi/btl_mvapi_endpoint.c index 8cb20f1167..56240df90c 100644 --- a/ompi/mca/btl/mvapi/btl_mvapi_endpoint.c +++ b/ompi/mca/btl/mvapi/btl_mvapi_endpoint.c @@ -127,8 +127,10 @@ static inline int mca_btl_mvapi_endpoint_post_send( &frag->sr_desc); } - if(VAPI_OK != frag->ret) + if(VAPI_OK != frag->ret) { + BTL_ERROR(("VAPI_post_sr: %s\n", VAPI_strerror(frag->ret))); return OMPI_ERROR; + } if(mca_btl_mvapi_component.use_srq) { MCA_BTL_MVAPI_POST_SRR_HIGH(mvapi_btl, 1); MCA_BTL_MVAPI_POST_SRR_LOW(mvapi_btl, 1); diff --git a/orte/mca/iof/base/iof_base_flush.c b/orte/mca/iof/base/iof_base_flush.c index cae94238bb..570ce2ffaa 100644 --- a/orte/mca/iof/base/iof_base_flush.c +++ b/orte/mca/iof/base/iof_base_flush.c @@ -64,6 +64,12 @@ int orte_iof_base_flush(void) struct timeval tv = { 0, 0 }; int flushed = 0; size_t pending; + static int32_t lock = 0; + + if(OPAL_THREAD_ADD32(&lock,1) > 1) { + OPAL_THREAD_ADD32(&lock,-1); + return; + } /* flush any pending output */ fflush(NULL); @@ -109,6 +115,7 @@ int orte_iof_base_flush(void) } orte_iof_base.iof_waiting--; OPAL_THREAD_UNLOCK(&orte_iof_base.iof_lock); + OPAL_THREAD_ADD32(&lock,-1); return OMPI_SUCCESS; } diff --git a/orte/mca/rmgr/urm/rmgr_urm.c b/orte/mca/rmgr/urm/rmgr_urm.c index 7c42384c13..bdd611e24a 100644 --- a/orte/mca/rmgr/urm/rmgr_urm.c +++ b/orte/mca/rmgr/urm/rmgr_urm.c @@ -416,15 +416,3 @@ static int orte_rmgr_urm_finalize(void) return ORTE_SUCCESS; } -#if 0 -static void orte_rmgr_urm_recv( - int status, - orte_process_name_t* peer, - orte_buffer_t* req, - orte_rml_tag_t tag, - void* cbdata) -{ - return; -} -#endif - diff --git a/orte/mca/rmgr/urm/rmgr_urm_component.c b/orte/mca/rmgr/urm/rmgr_urm_component.c index 2b05346e8b..50b3d51e4c 100644 --- a/orte/mca/rmgr/urm/rmgr_urm_component.c +++ b/orte/mca/rmgr/urm/rmgr_urm_component.c @@ -135,18 +135,8 @@ static void orte_rmgr_urm_recv( ORTE_ERROR_LOG(rc); goto cleanup; } - + cleanup: - - rc = orte_rml.recv_buffer_nb( - ORTE_RML_NAME_ANY, - ORTE_RML_TAG_RMGR_SVC, - 0, - orte_rmgr_urm_recv, - NULL); - if(rc < 0) { - ORTE_ERROR_LOG(rc); - } OBJ_DESTRUCT(&rsp); } @@ -206,7 +196,7 @@ static orte_rmgr_base_module_t *orte_rmgr_urm_init(int* priority) if (0 > (rc = orte_rml.recv_buffer_nb( ORTE_RML_NAME_ANY, ORTE_RML_TAG_RMGR_SVC, - 0, + ORTE_RML_PERSISTENT, orte_rmgr_urm_recv, NULL))) { ORTE_ERROR_LOG(rc);