Correctly read a bool from the application memory. Report back if the
receive request was matched or not. This commit was SVN r15928.
Этот коммит содержится в:
родитель
c7e0ab93ae
Коммит
7ef49614fc
@ -279,13 +279,10 @@ static mqs_tword_t fetch_int (mqs_process * proc, mqs_taddr_t addr, mpi_process_
|
|||||||
static mqs_tword_t fetch_bool(mqs_process * proc, mqs_taddr_t addr, mpi_process_info *p_info)
|
static mqs_tword_t fetch_bool(mqs_process * proc, mqs_taddr_t addr, mpi_process_info *p_info)
|
||||||
{
|
{
|
||||||
int isize = p_info->sizes.bool_size;
|
int isize = p_info->sizes.bool_size;
|
||||||
char buffer[8]; /* ASSUME the type fits in 8 bytes */
|
|
||||||
mqs_tword_t res = 0;
|
mqs_tword_t res = 0;
|
||||||
|
|
||||||
if (mqs_ok == mqs_fetch_data (proc, addr, isize, &buffer))
|
mqs_fetch_data (proc, addr, isize, &res);
|
||||||
res = (mqs_tword_t)buffer;
|
return (0 == res ? 0 : 1);
|
||||||
|
|
||||||
return res;
|
|
||||||
} /* fetch_bool */
|
} /* fetch_bool */
|
||||||
|
|
||||||
/***********************************************************************/
|
/***********************************************************************/
|
||||||
@ -1384,8 +1381,6 @@ static int fetch_request( mqs_process *proc, mpi_process_info *p_info,
|
|||||||
fetch_bool( proc,
|
fetch_bool( proc,
|
||||||
current_item + i_info->mca_pml_base_request_t.offset.req_pml_complete,
|
current_item + i_info->mca_pml_base_request_t.offset.req_pml_complete,
|
||||||
p_info );
|
p_info );
|
||||||
printf( "req_complete = %d, req_pml_complete = %d\n",
|
|
||||||
(int)req_complete, (int)req_pml_complete );
|
|
||||||
res->status = (0 == req_complete ? mqs_st_pending : mqs_st_complete);
|
res->status = (0 == req_complete ? mqs_st_pending : mqs_st_complete);
|
||||||
|
|
||||||
res->desired_local_rank = fetch_int( proc, current_item + i_info->mca_pml_base_request_t.offset.req_peer, p_info );
|
res->desired_local_rank = fetch_int( proc, current_item + i_info->mca_pml_base_request_t.offset.req_peer, p_info );
|
||||||
@ -1422,7 +1417,7 @@ static int fetch_request( mqs_process *proc, mpi_process_info *p_info,
|
|||||||
res->actual_tag =
|
res->actual_tag =
|
||||||
fetch_int( proc, current_item + i_info->ompi_request_t.offset.req_status +
|
fetch_int( proc, current_item + i_info->ompi_request_t.offset.req_status +
|
||||||
i_info->ompi_status_public_t.offset.MPI_TAG, p_info );
|
i_info->ompi_status_public_t.offset.MPI_TAG, p_info );
|
||||||
if( (MPI_ANY_TAG == res->actual_tag) && (mqs_st_pending < res->status) ) {
|
if( MPI_ANY_TAG != res->actual_tag ) {
|
||||||
res->status = mqs_st_matched;
|
res->status = mqs_st_matched;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user