1
1
This commit was SVN r10709.
Этот коммит содержится в:
Galen Shipman 2006-07-10 22:27:32 +00:00
родитель febc143d8c
Коммит 68ae99123d
3 изменённых файлов: 15 добавлений и 6 удалений

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

@ -243,7 +243,7 @@ int mca_pml_base_bsend_request_start(ompi_request_t* request)
/* increment count of pending requests */ /* increment count of pending requests */
mca_pml_bsend_count++; mca_pml_bsend_count++;
} }
sendreq->req_base.req_ompi.req_complete = true;
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }

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

@ -89,8 +89,13 @@ mca_pml_cm_send(void *buf,
datatype, dst, tag, comm, datatype, dst, tag, comm,
sendmode, true, false); sendmode, true, false);
if (sendreq->req_send.req_send_mode == MCA_PML_BASE_SEND_BUFFERED || if (sendreq->req_send.req_send_mode == MCA_PML_BASE_SEND_BUFFERED ) {
NULL == ompi_mtl->mtl_send) { MCA_PML_CM_SEND_REQUEST_START(sendreq, ret);
if (OMPI_SUCCESS != ret) {
MCA_PML_CM_SEND_REQUEST_RETURN(sendreq);
return ret;
}
} else if (NULL == ompi_mtl->mtl_send) {
MCA_PML_CM_SEND_REQUEST_START(sendreq, ret); MCA_PML_CM_SEND_REQUEST_START(sendreq, ret);
if (OMPI_SUCCESS != ret) { if (OMPI_SUCCESS != ret) {
MCA_PML_CM_SEND_REQUEST_RETURN(sendreq); MCA_PML_CM_SEND_REQUEST_RETURN(sendreq);
@ -98,7 +103,7 @@ mca_pml_cm_send(void *buf,
} }
if (sendreq->req_send.req_base.req_ompi.req_complete == false) { if (sendreq->req_send.req_base.req_ompi.req_complete == false) {
/* give up and sleep until completion */ /* give up and sleep until completion */
if (opal_using_threads()) { if (opal_using_threads()) {
opal_mutex_lock(&ompi_request_lock); opal_mutex_lock(&ompi_request_lock);
ompi_request_waiting++; ompi_request_waiting++;

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

@ -110,8 +110,12 @@ do { \
sendreq->req_send.req_send_mode, \ sendreq->req_send.req_send_mode, \
sendreq->req_blocking, \ sendreq->req_blocking, \
&sendreq->req_mtl)); \ &sendreq->req_mtl)); \
if(OMPI_SUCCESS == ret && \
sendreq->req_send.req_send_mode == MCA_PML_BASE_SEND_BUFFERED) { \
MCA_PML_CM_SEND_REQUEST_MPI_COMPLETE(sendreq); \
} \
} \ } \
} while (0) } while (0)
/* /*