Fix typos in the memchecker sections of MPI_IMRECV and MPI_MRECV, and
define the missing function memchecker_message(). Thanks to MTT for catching these errors. This commit was SVN r26314.
Этот коммит содержится в:
родитель
9986c29a4b
Коммит
4b047c4257
@ -380,5 +380,28 @@ static inline int memchecker_datatype(MPI_Datatype type)
|
||||
#define memchecker_datatype(type)
|
||||
#endif /* OMPI_WANT_MEMCHECKER_MPI_OBJECTS */
|
||||
|
||||
/*
|
||||
* Check every member of the message, whether their memory areas are defined.
|
||||
*/
|
||||
#ifdef OMPI_WANT_MEMCHECKER_MPI_OBJECTS
|
||||
static inline int memchecker_message(MPI_Message *message)
|
||||
{
|
||||
if (!opal_memchecker_base_runindebugger()) {
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
opal_memchecker_base_isdefined (&message->m_f_to_c_index, sizeof(int));
|
||||
opal_memchecker_base_isdefined (&message->comm, sizeof(ompi_communicator_t *));
|
||||
opal_memchecker_base_isdefined (&message->req_ptr, sizeof(void *));
|
||||
opal_memchecker_base_isdefined (&message->peer, sizeof(int));
|
||||
opal_memchecker_base_isdefined (&message->count, sizeof(sizeof_t));
|
||||
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
#else
|
||||
#define memchecker_message(message)
|
||||
#endif /* OMPI_WANT_MEMCHECKER_MPI_OBJECTS */
|
||||
|
||||
|
||||
#endif /* OMPI_MEMCHECKER_H */
|
||||
|
||||
|
@ -36,7 +36,8 @@ int MPI_Imrecv(void *buf, int count, MPI_Datatype type,
|
||||
|
||||
MEMCHECKER(
|
||||
memchecker_datatype(type);
|
||||
memchecker_call(&opal_memchecker_base_isaddressible, buf, count, type);
|
||||
memchecker_message(message);
|
||||
memchecker_call(&opal_memchecker_base_isaddressable, buf, count, type);
|
||||
memchecker_comm(comm);
|
||||
);
|
||||
|
||||
|
@ -36,7 +36,8 @@ int MPI_Mrecv(void *buf, int count, MPI_Datatype type,
|
||||
|
||||
MEMCHECKER(
|
||||
memchecker_datatype(type);
|
||||
memchecker_call(&opal_memchecker_base_isaddressible, buf, count, type);
|
||||
memchecker_message(message);
|
||||
memchecker_call(&opal_memchecker_base_isaddressable, buf, count, type);
|
||||
memchecker_comm(comm);
|
||||
);
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user