1
1

ugni: poll smsg mailbox until it is empty

This commit was SVN r25794.
Этот коммит содержится в:
Nathan Hjelm 2012-01-26 20:50:09 +00:00
родитель 2a83297f96
Коммит 669f0afd14

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

@ -354,17 +354,17 @@ mca_btl_ugni_smsg_process (mca_btl_base_endpoint_t *ep)
mca_btl_base_segment_t *segments; mca_btl_base_segment_t *segments;
mca_btl_ugni_frag_hdr_t *hdr; mca_btl_ugni_frag_hdr_t *hdr;
uintptr_t data_ptr; uintptr_t data_ptr;
int tries = 3;
int count = 0; int count = 0;
int rc; int rc;
/* loop until the mailbox is empty */
do { do {
uint8_t tag = GNI_SMSG_ANY_TAG; uint8_t tag = GNI_SMSG_ANY_TAG;
rc = GNI_SmsgGetNextWTag (ep->common->ep_handle, (void **) &data_ptr, &tag); rc = GNI_SmsgGetNextWTag (ep->common->ep_handle, (void **) &data_ptr, &tag);
if (GNI_RC_SUCCESS != rc) { if (GNI_RC_SUCCESS != rc) {
BTL_VERBOSE(("no smsg message waiting. rc = %d", rc)); BTL_VERBOSE(("no smsg message waiting. rc = %d", rc));
continue; break;
} }
if (OPAL_UNLIKELY(0 == data_ptr)) { if (OPAL_UNLIKELY(0 == data_ptr)) {
@ -425,7 +425,7 @@ mca_btl_ugni_smsg_process (mca_btl_base_endpoint_t *ep)
BTL_ERROR(("Smsg release failed!")); BTL_ERROR(("Smsg release failed!"));
return OMPI_ERROR; return OMPI_ERROR;
} }
} while (tries--); } while (1);
/* finished processing events */ /* finished processing events */
return count; return count;