|
From: <sv...@va...> - 2012-08-23 19:25:25
|
sewardj 2012-08-23 20:25:12 +0100 (Thu, 23 Aug 2012)
New Revision: 12887
Log:
Fix false positives in count_from_Status etc al. n-i-bz.
Modified files:
trunk/mpi/libmpiwrap.c
Modified: trunk/mpi/libmpiwrap.c (+4 -0)
===================================================================
--- trunk/mpi/libmpiwrap.c 2012-08-23 01:44:22 +01:00 (rev 12886)
+++ trunk/mpi/libmpiwrap.c 2012-08-23 20:25:12 +01:00 (rev 12887)
@@ -413,7 +413,9 @@
MPI_Status* status)
{
int n;
+ if (cONFIG_DER) VALGRIND_DISABLE_ERROR_REPORTING;
int err = PMPI_Get_count(status, datatype, &n);
+ if (cONFIG_DER) VALGRIND_ENABLE_ERROR_REPORTING;
if (err == MPI_SUCCESS) {
*recv_count = n;
return True;
@@ -1107,6 +1109,7 @@
if (cONFIG_DER) VALGRIND_DISABLE_ERROR_REPORTING;
CALL_FN_W_7W(err, fn, buf,count,datatype,source,tag,comm,status);
if (cONFIG_DER) VALGRIND_ENABLE_ERROR_REPORTING;
+ make_mem_defined_if_addressable_if_success_untyped(err, status, sizeof(*status));
if (err == MPI_SUCCESS && count_from_Status(&recv_count,datatype,status)) {
make_mem_defined_if_addressable(buf, recv_count, datatype);
}
@@ -1724,6 +1727,7 @@
recvbuf,recvcount,recvtype,source,recvtag,
comm,status);
if (cONFIG_DER) VALGRIND_ENABLE_ERROR_REPORTING;
+ make_mem_defined_if_addressable_if_success_untyped(err, status, sizeof(*status));
if (err == MPI_SUCCESS
&& count_from_Status(&recvcount_actual,recvtype,status)) {
make_mem_defined_if_addressable(recvbuf, recvcount_actual, recvtype);
|