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) {
|
||||
status->MPI_ERROR = OMPI_SUCCESS;
|
||||
MX_GET_SRC(mx_status.match_info, status->MPI_SOURCE);
|
||||
MX_GET_TAG(mx_status.match_info, status->MPI_TAG);
|
||||
status->_count = mx_status.msg_length;
|
||||
|
||||
if(MPI_STATUS_IGNORE != status) {
|
||||
status->MPI_ERROR = OMPI_SUCCESS;
|
||||
MX_GET_SRC(mx_status.match_info, status->MPI_SOURCE);
|
||||
MX_GET_TAG(mx_status.match_info, status->MPI_TAG);
|
||||
status->_count = mx_status.msg_length;
|
||||
}
|
||||
*flag = 1;
|
||||
} else {
|
||||
*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);
|
||||
if (err == PSM_OK) {
|
||||
*flag = 1;
|
||||
status->MPI_SOURCE = PSM_GET_MQRANK(mqstat.msg_tag);
|
||||
status->MPI_TAG = PSM_GET_MQUTAG(mqstat.msg_tag);
|
||||
status->_count = mqstat.nbytes;
|
||||
if(MPI_STATUS_IGNORE != status) {
|
||||
status->MPI_SOURCE = PSM_GET_MQRANK(mqstat.msg_tag);
|
||||
status->MPI_TAG = PSM_GET_MQUTAG(mqstat.msg_tag);
|
||||
status->_count = mqstat.nbytes;
|
||||
|
||||
switch (mqstat.error_code) {
|
||||
switch (mqstat.error_code) {
|
||||
case PSM_OK:
|
||||
status->MPI_ERROR = OMPI_SUCCESS;
|
||||
break;
|
||||
@ -54,8 +55,10 @@ int ompi_mtl_psm_iprobe(struct mca_mtl_base_module_t* mtl,
|
||||
break;
|
||||
default:
|
||||
status->MPI_ERROR = MPI_ERR_INTERN;
|
||||
}
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
else if (err == PSM_MQ_INCOMPLETE) {
|
||||
*flag = 0;
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user