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) {
if(MPI_STATUS_IGNORE != status) {
status->MPI_ERROR = OMPI_SUCCESS; status->MPI_ERROR = OMPI_SUCCESS;
MX_GET_SRC(mx_status.match_info, status->MPI_SOURCE); MX_GET_SRC(mx_status.match_info, status->MPI_SOURCE);
MX_GET_TAG(mx_status.match_info, status->MPI_TAG); MX_GET_TAG(mx_status.match_info, status->MPI_TAG);
status->_count = mx_status.msg_length; status->_count = mx_status.msg_length;
}
*flag = 1; *flag = 1;
} else { } else {
*flag = 0; *flag = 0;

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

@ -41,6 +41,7 @@ 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;
if(MPI_STATUS_IGNORE != status) {
status->MPI_SOURCE = PSM_GET_MQRANK(mqstat.msg_tag); status->MPI_SOURCE = PSM_GET_MQRANK(mqstat.msg_tag);
status->MPI_TAG = PSM_GET_MQUTAG(mqstat.msg_tag); status->MPI_TAG = PSM_GET_MQUTAG(mqstat.msg_tag);
status->_count = mqstat.nbytes; status->_count = mqstat.nbytes;
@ -55,6 +56,8 @@ int ompi_mtl_psm_iprobe(struct mca_mtl_base_module_t* mtl,
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) {