1
1

return mpool resources when request completes rather than in free

This commit was SVN r8063.
Этот коммит содержится в:
Tim Woodall 2005-11-09 21:59:01 +00:00
родитель 6b99301893
Коммит 58b46d2da0

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

@ -245,9 +245,18 @@ do {
*/
#define MCA_PML_OB1_SEND_REQUEST_PML_COMPLETE(sendreq) \
do { \
size_t r; \
/* request completed at pml level */ \
(sendreq)->req_send.req_base.req_pml_complete = true; \
\
/* return mpool resources */ \
for(r=0; r<sendreq->req_rdma_cnt; r++) { \
mca_mpool_base_registration_t* reg = sendreq->req_rdma[r].btl_reg; \
if( NULL != reg ) { \
reg->mpool->mpool_release(reg->mpool, reg); \
} \
} \
\
/* user has already released the request so simply free it */ \
if((sendreq)->req_send.req_base.req_free_called) { \
/* if buffered send - release any resources */ \
@ -301,13 +310,6 @@ do {
#define MCA_PML_OB1_SEND_REQUEST_RETURN(sendreq) \
{ \
/* Let the base handle the reference counts */ \
size_t r; \
for(r=0; r<sendreq->req_rdma_cnt; r++) { \
mca_mpool_base_registration_t* reg = sendreq->req_rdma[r].btl_reg; \
if( NULL != reg ) { \
reg->mpool->mpool_release(reg->mpool, reg); \
} \
} \
MCA_PML_BASE_SEND_REQUEST_FINI((&(sendreq)->req_send)); \
OMPI_FREE_LIST_RETURN( \
&mca_pml_ob1.send_requests, (opal_list_item_t*)sendreq); \