handle MPI_STATUS_IGNORE in iprobe for the MTLs
This commit was SVN r15002.
Этот коммит содержится в:
родитель
27ad954265
Коммит
798cc2c5b8
@ -58,11 +58,12 @@ ompi_mtl_mx_iprobe(struct mca_mtl_base_module_t* mtl,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (result) {
|
if (result) {
|
||||||
status->MPI_ERROR = OMPI_SUCCESS;
|
if(MPI_STATUS_IGNORE != status) {
|
||||||
MX_GET_SRC(mx_status.match_info, status->MPI_SOURCE);
|
status->MPI_ERROR = OMPI_SUCCESS;
|
||||||
MX_GET_TAG(mx_status.match_info, status->MPI_TAG);
|
MX_GET_SRC(mx_status.match_info, status->MPI_SOURCE);
|
||||||
status->_count = mx_status.msg_length;
|
MX_GET_TAG(mx_status.match_info, status->MPI_TAG);
|
||||||
|
status->_count = mx_status.msg_length;
|
||||||
|
}
|
||||||
*flag = 1;
|
*flag = 1;
|
||||||
} else {
|
} else {
|
||||||
*flag = 0;
|
*flag = 0;
|
||||||
|
@ -41,11 +41,12 @@ int ompi_mtl_psm_iprobe(struct mca_mtl_base_module_t* mtl,
|
|||||||
err = psm_mq_iprobe(ompi_mtl_psm.mq, mqtag, tagsel, &mqstat);
|
err = psm_mq_iprobe(ompi_mtl_psm.mq, mqtag, tagsel, &mqstat);
|
||||||
if (err == PSM_OK) {
|
if (err == PSM_OK) {
|
||||||
*flag = 1;
|
*flag = 1;
|
||||||
status->MPI_SOURCE = PSM_GET_MQRANK(mqstat.msg_tag);
|
if(MPI_STATUS_IGNORE != status) {
|
||||||
status->MPI_TAG = PSM_GET_MQUTAG(mqstat.msg_tag);
|
status->MPI_SOURCE = PSM_GET_MQRANK(mqstat.msg_tag);
|
||||||
status->_count = mqstat.nbytes;
|
status->MPI_TAG = PSM_GET_MQUTAG(mqstat.msg_tag);
|
||||||
|
status->_count = mqstat.nbytes;
|
||||||
|
|
||||||
switch (mqstat.error_code) {
|
switch (mqstat.error_code) {
|
||||||
case PSM_OK:
|
case PSM_OK:
|
||||||
status->MPI_ERROR = OMPI_SUCCESS;
|
status->MPI_ERROR = OMPI_SUCCESS;
|
||||||
break;
|
break;
|
||||||
@ -54,8 +55,10 @@ int ompi_mtl_psm_iprobe(struct mca_mtl_base_module_t* mtl,
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
status->MPI_ERROR = MPI_ERR_INTERN;
|
status->MPI_ERROR = MPI_ERR_INTERN;
|
||||||
}
|
}
|
||||||
return OMPI_SUCCESS;
|
}
|
||||||
|
|
||||||
|
return OMPI_SUCCESS;
|
||||||
}
|
}
|
||||||
else if (err == PSM_MQ_INCOMPLETE) {
|
else if (err == PSM_MQ_INCOMPLETE) {
|
||||||
*flag = 0;
|
*flag = 0;
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user