[mpich2-commits] r7956 - mpich2/trunk/src/mpid/ch3/src

buntinas at mcs.anl.gov buntinas at mcs.anl.gov
Mon Feb 14 13:41:30 CST 2011


Author: buntinas
Date: 2011-02-14 13:41:30 -0600 (Mon, 14 Feb 2011)
New Revision: 7956

Modified:
   mpich2/trunk/src/mpid/ch3/src/mpid_probe.c
Log:
fixed bug in comm_overrides code for mpid_probe where we weren't exiting properly after a message was found by the network.  Reviewed by mercierg@

Modified: mpich2/trunk/src/mpid/ch3/src/mpid_probe.c
===================================================================
--- mpich2/trunk/src/mpid/ch3/src/mpid_probe.c	2011-02-13 06:43:49 UTC (rev 7955)
+++ mpich2/trunk/src/mpid/ch3/src/mpid_probe.c	2011-02-14 19:41:30 UTC (rev 7956)
@@ -38,18 +38,17 @@
                 MPIU_THREAD_CS_ENTER(MSGQUEUE,);
                 found = MPIDI_CH3U_Recvq_FU(source, tag, context, status);
                 MPIU_THREAD_CS_EXIT(MSGQUEUE,);
-                if (found) break;
+                if (found) goto fn_exit;
 
                 mpi_errno = MPIDI_Anysource_iprobe_fn(tag, comm, context_offset, &found, status);
                 if (mpi_errno) MPIU_ERR_POP(mpi_errno);
-                if (found) break;
+                if (found) goto fn_exit;
 
                 MPIU_THREAD_CS_YIELD(ALLFUNC,);
                 
                 mpi_errno = MPIDI_CH3_Progress_test();
                 if (mpi_errno) MPIU_ERR_POP(mpi_errno);
             } while (1);
-            goto fn_exit;
         } else {
             /* it's not anysource, see if this is for the netmod */
             MPIDI_VC_t * vc;
@@ -63,7 +62,7 @@
                     mpi_errno = vc->comm_ops->iprobe(vc, source, tag, comm, context_offset, &found,
                                                      status);
                     if (mpi_errno) MPIU_ERR_POP(mpi_errno);
-                    if (found) break;
+                    if (found) goto fn_exit;
                     
                     MPIU_THREAD_CS_YIELD(ALLFUNC,);
                     



More information about the mpich2-commits mailing list