[mpich2-commits] r5650 - mpich2/trunk/src/pm/hydra/pm/pmiserv

balaji at mcs.anl.gov balaji at mcs.anl.gov
Sat Oct 31 15:44:36 CDT 2009


Author: balaji
Date: 2009-10-31 15:44:35 -0500 (Sat, 31 Oct 2009)
New Revision: 5650

Modified:
   mpich2/trunk/src/pm/hydra/pm/pmiserv/pmi_serv_launch.c
Log:
Bug fix for the failing timeout test in the nightly tests.

Modified: mpich2/trunk/src/pm/hydra/pm/pmiserv/pmi_serv_launch.c
===================================================================
--- mpich2/trunk/src/pm/hydra/pm/pmiserv/pmi_serv_launch.c	2009-10-31 18:12:56 UTC (rev 5649)
+++ mpich2/trunk/src/pm/hydra/pm/pmiserv/pmi_serv_launch.c	2009-10-31 20:44:35 UTC (rev 5650)
@@ -479,7 +479,7 @@
 HYD_status HYD_pmci_wait_for_completion(void)
 {
     struct HYD_proxy *proxy;
-    int sockets_open, all_procs_exited;
+    int sockets_open, all_procs_exited, infinite = -1;
     HYD_status status = HYD_SUCCESS;
 
     HYDU_FUNC_ENTER();
@@ -495,11 +495,14 @@
                 HYDT_dmx_wait_for_event(HYDU_time_left(HYD_handle.start, HYD_handle.timeout));
             HYDU_ERR_POP(status, "error waiting for event\n");
 
-            /* If the timeout expired, raise a SIGINT and kill all the
-             * processes */
+            /* timeout expired */
             if (HYDU_time_left(HYD_handle.start, HYD_handle.timeout) == 0) {
                 status = HYD_pmcd_pmi_serv_cleanup();
                 HYDU_ERR_POP(status, "cleanup of processes failed\n");
+
+                /* Reset timer to infinite */
+                HYDU_time_set(&HYD_handle.timeout, &infinite);
+                continue;
             }
 
             /* Check to see if there's any open read socket left; if



More information about the mpich2-commits mailing list