1
1

handle MPI_STATUS_IGNORE in iprobe for the MTLs

This commit was SVN r15002.
Этот коммит содержится в:
Galen Shipman 2007-06-11 20:19:31 +00:00
родитель 27ad954265
Коммит 798cc2c5b8
2 изменённых файлов: 15 добавлений и 11 удалений

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

@ -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;