From 303cb119b0fdc5f3a11f361062a2a8d422ade378 Mon Sep 17 00:00:00 2001 From: Mark Stillwell Date: Thu, 26 May 2011 10:39:56 +0200 Subject: [PATCH] changed match_recv and match_send...They were requiring matching communicators, which was causing communication to fail after MPI_comm_dup. Real mpi only tests for matching size, src, tag. --- src/smpi/smpi_base.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/smpi/smpi_base.c b/src/smpi/smpi_base.c index 3d6b456d19..0d5cdd2d61 100644 --- a/src/smpi/smpi_base.c +++ b/src/smpi/smpi_base.c @@ -26,7 +26,7 @@ static int match_recv(void* a, void* b) { xbt_assert(ref, "Cannot match recv against null reference"); xbt_assert(req, "Cannot match recv against null request"); - return req->comm == ref->comm + return req->size == ref->size && (ref->src == MPI_ANY_SOURCE || req->src == ref->src) && (ref->tag == MPI_ANY_TAG || req->tag == ref->tag); } @@ -37,7 +37,7 @@ static int match_send(void* a, void* b) { xbt_assert(ref, "Cannot match send against null reference"); xbt_assert(req, "Cannot match send against null request"); - return req->comm == ref->comm + return req->size == ref->size && (req->src == MPI_ANY_SOURCE || req->src == ref->src) && (req->tag == MPI_ANY_TAG || req->tag == ref->tag); } -- 2.20.1