1
1

btl/ugni: return a descriptor from sendi

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
Этот коммит содержится в:
Nathan Hjelm 2017-03-07 09:48:55 -07:00
родитель a19e7023d1
Коммит d5aaeb74b6

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

@ -119,10 +119,9 @@ int mca_btl_ugni_sendi (struct mca_btl_base_module_t *btl,
int rc;
do {
if (OPAL_UNLIKELY(OPAL_SUCCESS != mca_btl_ugni_check_endpoint_state (endpoint) ||
opal_list_get_size (&endpoint->frag_wait_list))) {
break;
}
BTL_VERBOSE(("btl/ugni isend sending fragment from %d -> %d. length = %" PRIu64
" endoint state %d", OPAL_PROC_MY_NAME.vpid, endpoint->peer_proc->proc_name.vpid,
payload_size + header_size, endpoint->state));
flags |= MCA_BTL_DES_FLAGS_BTL_OWNERSHIP;
@ -135,7 +134,8 @@ int mca_btl_ugni_sendi (struct mca_btl_base_module_t *btl,
}
assert (packed_size == payload_size);
if (OPAL_UNLIKELY(NULL == frag)) {
if (OPAL_UNLIKELY(NULL == frag || OPAL_SUCCESS != mca_btl_ugni_check_endpoint_state (endpoint) ||
opal_list_get_size (&endpoint->frag_wait_list))) {
break;
}
@ -152,8 +152,9 @@ int mca_btl_ugni_sendi (struct mca_btl_base_module_t *btl,
} while (0);
if (NULL != descriptor) {
*descriptor = NULL;
*descriptor = &frag->base;
}
return OPAL_ERR_OUT_OF_RESOURCE;
}