[mpich2-commits] r3998 - in mpich2/trunk/src/pm/hydra: . bootstrap/ssh bootstrap/utils control/consys control/utils demux include launcher/mpiexec launcher/utils pm/central pm/utils utils utils/launch utils/timer

balaji at mcs.anl.gov balaji at mcs.anl.gov
Tue Mar 10 16:18:00 CDT 2009


Author: balaji
Date: 2009-03-10 16:18:00 -0500 (Tue, 10 Mar 2009)
New Revision: 3998

Added:
   mpich2/trunk/src/pm/hydra/utils/timer/
   mpich2/trunk/src/pm/hydra/utils/timer/Makefile.sm
   mpich2/trunk/src/pm/hydra/utils/timer/timer.c
Modified:
   mpich2/trunk/src/pm/hydra/bootstrap/ssh/ssh_finalize.c
   mpich2/trunk/src/pm/hydra/bootstrap/ssh/ssh_launch.c
   mpich2/trunk/src/pm/hydra/bootstrap/utils/bscu_signal.c
   mpich2/trunk/src/pm/hydra/bootstrap/utils/bscu_wait.c
   mpich2/trunk/src/pm/hydra/configure.in
   mpich2/trunk/src/pm/hydra/control/consys/consys_close.c
   mpich2/trunk/src/pm/hydra/control/consys/consys_launch.c
   mpich2/trunk/src/pm/hydra/control/consys/consys_wait.c
   mpich2/trunk/src/pm/hydra/control/utils/csiu.c
   mpich2/trunk/src/pm/hydra/control/utils/csiu.h
   mpich2/trunk/src/pm/hydra/demux/demux.c
   mpich2/trunk/src/pm/hydra/demux/demux.h
   mpich2/trunk/src/pm/hydra/include/hydra.h
   mpich2/trunk/src/pm/hydra/include/hydra_utils.h
   mpich2/trunk/src/pm/hydra/launcher/mpiexec/callback.c
   mpich2/trunk/src/pm/hydra/launcher/mpiexec/mpiexec.c
   mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c
   mpich2/trunk/src/pm/hydra/launcher/utils/lchu.c
   mpich2/trunk/src/pm/hydra/pm/central/central_launch.c
   mpich2/trunk/src/pm/hydra/pm/central/proxy.c
   mpich2/trunk/src/pm/hydra/pm/central/proxy_cb.c
   mpich2/trunk/src/pm/hydra/pm/utils/pmi.c
   mpich2/trunk/src/pm/hydra/utils/Makefile.sm
   mpich2/trunk/src/pm/hydra/utils/launch/args.c
   mpich2/trunk/src/pm/hydra/utils/launch/launch.c
Log:
Squashing several compile warnings in Hydra. Also made the demux engine independent of the central Hydra handle so it can be used by the proxy more cleanly.

Modified: mpich2/trunk/src/pm/hydra/bootstrap/ssh/ssh_finalize.c
===================================================================
--- mpich2/trunk/src/pm/hydra/bootstrap/ssh/ssh_finalize.c	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/bootstrap/ssh/ssh_finalize.c	2009-03-10 21:18:00 UTC (rev 3998)
@@ -11,15 +11,10 @@
 
 HYD_Status HYD_BSCI_Finalize(void)
 {
-    struct HYD_Proc_params *proc_params;
     HYD_Status status = HYD_SUCCESS;
 
     HYDU_FUNC_ENTER();
 
-  fn_exit:
     HYDU_FUNC_EXIT();
     return status;
-
-  fn_fail:
-    goto fn_exit;
 }

Modified: mpich2/trunk/src/pm/hydra/bootstrap/ssh/ssh_launch.c
===================================================================
--- mpich2/trunk/src/pm/hydra/bootstrap/ssh/ssh_launch.c	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/bootstrap/ssh/ssh_launch.c	2009-03-10 21:18:00 UTC (rev 3998)
@@ -97,8 +97,8 @@
 {
     struct HYD_Proc_params *proc_params;
     struct HYD_Partition_list *partition;
-    char *client_arg[HYD_EXEC_ARGS], *hostname, **proc_list, *execname;
-    int i, arg, host_id, host_id_max;
+    char *client_arg[HYD_EXEC_ARGS], *execname;
+    int arg;
     HYD_Status status = HYD_SUCCESS;
 
     HYDU_FUNC_ENTER();

Modified: mpich2/trunk/src/pm/hydra/bootstrap/utils/bscu_signal.c
===================================================================
--- mpich2/trunk/src/pm/hydra/bootstrap/utils/bscu_signal.c	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/bootstrap/utils/bscu_signal.c	2009-03-10 21:18:00 UTC (rev 3998)
@@ -60,8 +60,6 @@
 
 void HYD_BSCU_Signal_handler(int signal)
 {
-    int status, pid, i;
-
     HYDU_FUNC_ENTER();
 
     if (signal == SIGINT || signal == SIGQUIT || signal == SIGTERM

Modified: mpich2/trunk/src/pm/hydra/bootstrap/utils/bscu_wait.c
===================================================================
--- mpich2/trunk/src/pm/hydra/bootstrap/utils/bscu_wait.c	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/bootstrap/utils/bscu_wait.c	2009-03-10 21:18:00 UTC (rev 3998)
@@ -19,7 +19,7 @@
  */
 HYD_Status HYD_BSCU_Wait_for_completion(void)
 {
-    int pid, ret_status, i, not_completed;
+    int pid, ret_status, not_completed;
     struct HYD_Proc_params *proc_params;
     struct HYD_Partition_list *partition;
     HYD_Status status = HYD_SUCCESS;
@@ -52,7 +52,7 @@
                 }
             }
         }
-        if (HYD_CSU_Time_left() == 0)
+        if (HYDU_Time_left(handle.start, handle.timeout) == 0)
             break;
 
         /* FIXME: If we did not break out yet, add a small usleep to

Modified: mpich2/trunk/src/pm/hydra/configure.in
===================================================================
--- mpich2/trunk/src/pm/hydra/configure.in	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/configure.in	2009-03-10 21:18:00 UTC (rev 3998)
@@ -261,6 +261,7 @@
 	utils/sock/Makefile \
 	utils/signals/Makefile \
 	utils/launch/Makefile \
+	utils/timer/Makefile \
 	launcher/Makefile \
 	launcher/utils/Makefile \
 	launcher/${HYDRA_LAUNCHER}/Makefile \

Modified: mpich2/trunk/src/pm/hydra/control/consys/consys_close.c
===================================================================
--- mpich2/trunk/src/pm/hydra/control/consys/consys_close.c	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/control/consys/consys_close.c	2009-03-10 21:18:00 UTC (rev 3998)
@@ -15,7 +15,6 @@
 
 HYD_Status HYD_CSI_Close_fd(int fd)
 {
-    int i;
     struct HYD_Proc_params *proc_params;
     struct HYD_Partition_list *partition;
     HYD_Status status = HYD_SUCCESS;

Modified: mpich2/trunk/src/pm/hydra/control/consys/consys_launch.c
===================================================================
--- mpich2/trunk/src/pm/hydra/control/consys/consys_launch.c	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/control/consys/consys_launch.c	2009-03-10 21:18:00 UTC (rev 3998)
@@ -16,7 +16,7 @@
 {
     struct HYD_Proc_params *proc_params;
     struct HYD_Partition_list *partition;
-    int stdin_fd, flags, count;
+    int stdin_fd;
     HYD_Status status = HYD_SUCCESS;
 
     HYDU_FUNC_ENTER();

Modified: mpich2/trunk/src/pm/hydra/control/consys/consys_wait.c
===================================================================
--- mpich2/trunk/src/pm/hydra/control/consys/consys_wait.c	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/control/consys/consys_wait.c	2009-03-10 21:18:00 UTC (rev 3998)
@@ -6,6 +6,7 @@
 
 #include "hydra.h"
 #include "csi.h"
+#include "csiu.h"
 #include "pmci.h"
 #include "bsci.h"
 #include "demux.h"
@@ -14,7 +15,7 @@
 
 HYD_Status HYD_CSI_Wait_for_completion(void)
 {
-    int sockets_open, i;
+    int sockets_open;
     struct HYD_Proc_params *proc_params;
     struct HYD_Partition_list *partition;
     HYD_Status status = HYD_SUCCESS;
@@ -23,7 +24,7 @@
 
     while (1) {
         /* Wait for some event to occur */
-        status = HYD_DMX_Wait_for_event();
+        status = HYD_DMX_Wait_for_event(HYDU_Time_left(handle.start, handle.timeout));
         if (status != HYD_SUCCESS) {
             HYDU_Error_printf("demux engine returned error when waiting for event\n");
             goto fn_fail;
@@ -43,7 +44,7 @@
                 break;
         }
 
-        if (sockets_open && HYD_CSU_Time_left())
+        if (sockets_open && HYDU_Time_left(handle.start, handle.timeout))
             continue;
 
         /* Make sure all the processes have terminated. The bootstrap

Modified: mpich2/trunk/src/pm/hydra/control/utils/csiu.c
===================================================================
--- mpich2/trunk/src/pm/hydra/control/utils/csiu.c	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/control/utils/csiu.c	2009-03-10 21:18:00 UTC (rev 3998)
@@ -5,28 +5,3 @@
  */
 
 #include "hydra.h"
-
-HYD_Handle handle;
-
-int HYD_CSU_Time_left(void)
-{
-    struct timeval now;
-    int time_left;
-
-    HYDU_FUNC_ENTER();
-
-    if (handle.timeout.tv_sec < 0) {
-        time_left = -1;
-        goto fn_exit;
-    }
-    else {
-        gettimeofday(&now, NULL);
-        time_left = (1000 * (handle.timeout.tv_sec - now.tv_sec + handle.start.tv_sec));
-        if (time_left < 0)
-            time_left = 0;
-    }
-
-  fn_exit:
-    HYDU_FUNC_EXIT();
-    return time_left;
-}

Modified: mpich2/trunk/src/pm/hydra/control/utils/csiu.h
===================================================================
--- mpich2/trunk/src/pm/hydra/control/utils/csiu.h	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/control/utils/csiu.h	2009-03-10 21:18:00 UTC (rev 3998)
@@ -7,6 +7,4 @@
 #ifndef CSIU_H_INCLUDED
 #define CSIU_H_INCLUDED
 
-int HYD_CSU_Time_left(void);
-
 #endif /* CSIU_H_INCLUDED */

Modified: mpich2/trunk/src/pm/hydra/demux/demux.c
===================================================================
--- mpich2/trunk/src/pm/hydra/demux/demux.c	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/demux/demux.c	2009-03-10 21:18:00 UTC (rev 3998)
@@ -21,27 +21,6 @@
 
 static HYD_DMXI_Callback_t *cb_list = NULL;
 
-static void print_callback_list()
-{
-    HYD_DMXI_Callback_t *run;
-    int i, j;
-
-    run = cb_list;
-    i = 0;
-    printf("Callback list: ");
-    while (run) {
-        for (j = 0; j < run->num_fds; j++) {
-            if (run->fd[j] == -1)
-                continue;
-
-            printf("%d ", run->fd[j]);
-            i++;
-        }
-        run = run->next;
-    }
-    printf("\n");
-}
-
 HYD_Status HYD_DMX_Register_fd(int num_fds, int *fd, HYD_Event_t events,
                                HYD_Status(*callback) (int fd, HYD_Event_t events))
 {
@@ -122,10 +101,10 @@
 }
 
 
-HYD_Status HYD_DMX_Wait_for_event(void)
+HYD_Status HYD_DMX_Wait_for_event(int time)
 {
     int total_fds, i, j, events, ret;
-    HYD_DMXI_Callback_t *cb_element, *run;
+    HYD_DMXI_Callback_t *run;
     struct pollfd *pollfds = NULL;
     HYD_Status status = HYD_SUCCESS;
 
@@ -155,7 +134,7 @@
     total_fds = i;
 
     while (1) {
-        ret = poll(pollfds, total_fds, HYD_CSU_Time_left());
+        ret = poll(pollfds, total_fds, time);
         if (ret < 0) {
             if (errno == EINTR) {
                 /* We were interrupted by a system call; loop back */

Modified: mpich2/trunk/src/pm/hydra/demux/demux.h
===================================================================
--- mpich2/trunk/src/pm/hydra/demux/demux.h	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/demux/demux.h	2009-03-10 21:18:00 UTC (rev 3998)
@@ -12,7 +12,7 @@
 HYD_Status HYD_DMX_Register_fd(int num_fds, int *fd, HYD_Event_t events,
                                HYD_Status(*callback) (int fd, HYD_Event_t events));
 HYD_Status HYD_DMX_Deregister_fd(int fd);
-HYD_Status HYD_DMX_Wait_for_event(void);
+HYD_Status HYD_DMX_Wait_for_event(int time);
 HYD_Status HYD_DMX_Finalize(void);
 
 #endif /* DEMUX_H_INCLUDED */

Modified: mpich2/trunk/src/pm/hydra/include/hydra.h
===================================================================
--- mpich2/trunk/src/pm/hydra/include/hydra.h	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/include/hydra.h	2009-03-10 21:18:00 UTC (rev 3998)
@@ -31,8 +31,8 @@
     /* Start time and timeout. These are filled in by the launcher,
      * but are utilized by the demux engine and the boot-strap server
      * to decide how long we need to wait for. */
-    struct timeval start;
-    struct timeval timeout;
+    HYD_Time start;
+    HYD_Time timeout;
 
     /* Each structure will contain all hosts/cores that use the same
      * executable and environment. */

Modified: mpich2/trunk/src/pm/hydra/include/hydra_utils.h
===================================================================
--- mpich2/trunk/src/pm/hydra/include/hydra_utils.h	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/include/hydra_utils.h	2009-03-10 21:18:00 UTC (rev 3998)
@@ -158,6 +158,16 @@
 HYD_Status HYDU_Set_signal(int signum, void (*handler) (int));
 
 
+/* Timer utilities */
+/* FIXME: HYD_Time should be OS specific */
+#ifdef HAVE_TIME
+#include <time.h>
+#endif /* HAVE_TIME */
+typedef struct timeval HYD_Time;
+void HYDU_Time_set(HYD_Time time, int * val);
+int HYDU_Time_left(HYD_Time start, HYD_Time timeout);
+
+
 /* Sock utilities */
 #include <poll.h>
 #include <fcntl.h>

Modified: mpich2/trunk/src/pm/hydra/launcher/mpiexec/callback.c
===================================================================
--- mpich2/trunk/src/pm/hydra/launcher/mpiexec/callback.c	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/launcher/mpiexec/callback.c	2009-03-10 21:18:00 UTC (rev 3998)
@@ -45,8 +45,7 @@
 
 HYD_Status HYD_LCHI_stderr_cb(int fd, HYD_Event_t events)
 {
-    int count, closed;
-    char buf[HYD_TMPBUF_SIZE];
+    int closed;
     HYD_Status status = HYD_SUCCESS;
 
     HYDU_FUNC_ENTER();
@@ -78,7 +77,7 @@
 
 HYD_Status HYD_LCHI_stdin_cb(int fd, HYD_Event_t events)
 {
-    int count, closed;
+    int closed;
     HYD_Status status = HYD_SUCCESS;
 
     HYDU_FUNC_ENTER();

Modified: mpich2/trunk/src/pm/hydra/launcher/mpiexec/mpiexec.c
===================================================================
--- mpich2/trunk/src/pm/hydra/launcher/mpiexec/mpiexec.c	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/launcher/mpiexec/mpiexec.c	2009-03-10 21:18:00 UTC (rev 3998)
@@ -45,7 +45,8 @@
 {
     struct HYD_Proc_params *proc_params;
     struct HYD_Partition_list *partition;
-    int exit_status, i;
+    int exit_status;
+    int timeout;
     HYD_Status status = HYD_SUCCESS;
 
     HYDU_FUNC_ENTER();
@@ -86,13 +87,12 @@
     }
     handle.stdin_cb = HYD_LCHI_stdin_cb;
 
-    gettimeofday(&handle.start, NULL);
+    HYDU_Time_set(&handle.start, NULL); /* NULL implies right now */
     if (getenv("MPIEXEC_TIMEOUT"))
-        handle.timeout.tv_sec = atoi(getenv("MPIEXEC_TIMEOUT"));
-    else {
-        handle.timeout.tv_sec = -1;     /* Set a negative timeout */
-        handle.timeout.tv_usec = 0;
-    }
+        timeout = atoi(getenv("MPIEXEC_TIMEOUT"));
+    else
+        timeout = -1; /* Set a negative timeout */
+    HYD_Time_set(&handle.timeout, &timeout);
 
     /* Launch the processes */
     status = HYD_CSI_Launch_procs();

Modified: mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c
===================================================================
--- mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c	2009-03-10 21:18:00 UTC (rev 3998)
@@ -97,7 +97,6 @@
     int argc = t_argc, i;
     char **argv = t_argv;
     int local_params_started;
-    char *arg;
     char *env_name, *env_value;
     HYD_Env_t *env;
     struct HYD_Proc_params *proc_params;

Modified: mpich2/trunk/src/pm/hydra/launcher/utils/lchu.c
===================================================================
--- mpich2/trunk/src/pm/hydra/launcher/utils/lchu.c	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/launcher/utils/lchu.c	2009-03-10 21:18:00 UTC (rev 3998)
@@ -6,6 +6,7 @@
 
 #include "hydra.h"
 #include "hydra_utils.h"
+#include "lchu.h"
 
 HYD_Handle handle;
 
@@ -109,8 +110,9 @@
         for (partition = proc_params->partition; partition;) {
             HYDU_FREE(partition->name);
             if (partition->mapping) {
-                if (partition->mapping[i])
-                    HYDU_FREE(partition->mapping[i]);
+                for (i = 0;; i++)
+                    if (partition->mapping[i])
+                        HYDU_FREE(partition->mapping[i]);
                 HYDU_FREE(partition->mapping);
             }
             for (i = 0; partition->args[i]; i++)

Modified: mpich2/trunk/src/pm/hydra/pm/central/central_launch.c
===================================================================
--- mpich2/trunk/src/pm/hydra/pm/central/central_launch.c	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/pm/central/central_launch.c	2009-03-10 21:18:00 UTC (rev 3998)
@@ -37,14 +37,13 @@
 HYD_Status HYD_PMCI_Launch_procs(void)
 {
     char *port_range, *port_str, *sport, *str;
-    uint16_t low_port, high_port, port;
-    int one = 1, i, j, arg;
-    int num_procs, process_id, group_id;
+    uint16_t port;
+    int i, arg;
+    int process_id, group_id;
     char hostname[MAX_HOSTNAME_LEN];
-    struct sockaddr_in sa;
     HYD_Env_t *env;
     struct HYD_Proc_params *proc_params;
-    struct HYD_Partition_list *partition, *run, *next_partition;
+    struct HYD_Partition_list *partition;
     HYD_Status status = HYD_SUCCESS;
 
     HYDU_FUNC_ENTER();
@@ -157,12 +156,12 @@
             partition->args[arg++] = MPIU_Strdup(str);
             HYDU_FREE(str);
 
-            j = 0;
+            i = 0;
             for (env = handle.system_env; env; env = env->next)
-                j++;
+                i++;
             for (env = proc_params->prop_env; env; env = env->next)
-                j++;
-            HYDU_Int_to_str(j, str, status);
+                i++;
+            HYDU_Int_to_str(i, str, status);
             partition->args[arg++] = MPIU_Strdup("--environment");
             partition->args[arg++] = MPIU_Strdup(str);
             for (env = handle.system_env; env; env = env->next)

Modified: mpich2/trunk/src/pm/hydra/pm/central/proxy.c
===================================================================
--- mpich2/trunk/src/pm/hydra/pm/central/proxy.c	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/pm/central/proxy.c	2009-03-10 21:18:00 UTC (rev 3998)
@@ -14,9 +14,10 @@
 
 int main(int argc, char **argv)
 {
-    int i, j, arg, high_port, low_port, port, sockets_open;
-    int HYD_Proxy_listenfd, stdin_fd;
-    char *port_range, *port_str, *str;
+    int i, j, arg, sockets_open;
+    uint16_t port;
+    int HYD_Proxy_listenfd, stdin_fd, timeout;
+    char *port_range, *str, *timeout_str;
     HYD_Env_t *env, pmi;
     char *client_args[HYD_EXEC_ARGS];
     HYD_Status status = HYD_SUCCESS;
@@ -147,9 +148,15 @@
         }
     }
 
+    timeout_str = getenv("MPIEXEC_TIMEOUT");
+    if (timeout_str)
+        timeout = atoi(timeout_str);
+    else
+        timeout = -1;
+
     while (1) {
         /* Wait for some event to occur */
-        status = HYD_DMX_Wait_for_event();
+        status = HYD_DMX_Wait_for_event(timeout);
         if (status != HYD_SUCCESS) {
             HYDU_Error_printf("demux engine returned error when waiting for event\n");
             goto fn_fail;

Modified: mpich2/trunk/src/pm/hydra/pm/central/proxy_cb.c
===================================================================
--- mpich2/trunk/src/pm/hydra/pm/central/proxy_cb.c	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/pm/central/proxy_cb.c	2009-03-10 21:18:00 UTC (rev 3998)
@@ -7,6 +7,7 @@
 #include "hydra.h"
 #include "hydra_utils.h"
 #include "proxy.h"
+#include "demux.h"
 #include "central.h"
 
 struct HYD_Proxy_params HYD_Proxy_params;

Modified: mpich2/trunk/src/pm/hydra/pm/utils/pmi.c
===================================================================
--- mpich2/trunk/src/pm/hydra/pm/utils/pmi.c	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/pm/utils/pmi.c	2009-03-10 21:18:00 UTC (rev 3998)
@@ -92,7 +92,6 @@
 
 HYD_Status HYD_PMCU_Create_pg(void)
 {
-    HYD_PMCU_pmi_pg_t *run;
     struct HYD_Proc_params *proc_params;
     int num_procs;
     HYD_Status status = HYD_SUCCESS;
@@ -128,7 +127,7 @@
     int id, size, debug, i;
     char *ssize, *srank, *sdebug, *tmp[HYDU_NUM_JOIN_STR], *cmd;
     struct HYD_Proc_params *proc_params;
-    HYD_PMCU_pmi_pg_t *pg, *run;
+    HYD_PMCU_pmi_pg_t *run;
     HYD_Status status = HYD_SUCCESS;
 
     HYDU_FUNC_ENTER();
@@ -191,7 +190,7 @@
 
 HYD_Status HYD_PMCU_pmi_init(int fd, char *args[])
 {
-    int pmi_version, pmi_subversion, i;
+    int pmi_version, pmi_subversion;
     char *tmp[HYDU_NUM_JOIN_STR];
     HYD_Status status = HYD_SUCCESS;
 
@@ -275,7 +274,7 @@
 static HYD_PMCU_pmi_process_t *find_process(int fd)
 {
     HYD_PMCU_pmi_pg_t *pg;
-    HYD_PMCU_pmi_process_t *process;
+    HYD_PMCU_pmi_process_t *process = NULL;
 
     pg = pg_list;
     while (pg) {
@@ -381,7 +380,6 @@
 {
     HYD_PMCU_pmi_process_t *process, *run;
     char *cmd;
-    int i;
     HYD_Status status = HYD_SUCCESS;
 
     HYDU_FUNC_ENTER();

Modified: mpich2/trunk/src/pm/hydra/utils/Makefile.sm
===================================================================
--- mpich2/trunk/src/pm/hydra/utils/Makefile.sm	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/utils/Makefile.sm	2009-03-10 21:18:00 UTC (rev 3998)
@@ -4,4 +4,4 @@
 #     See COPYRIGHT in top-level directory.
 #
 
-SUBDIRS = dbg env sock signals launch .
+SUBDIRS = dbg env sock signals launch timer .

Modified: mpich2/trunk/src/pm/hydra/utils/launch/args.c
===================================================================
--- mpich2/trunk/src/pm/hydra/utils/launch/args.c	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/utils/launch/args.c	2009-03-10 21:18:00 UTC (rev 3998)
@@ -8,9 +8,9 @@
 
 HYD_Status HYDU_Append_env(HYD_Env_t * env_list, char **client_arg, int id)
 {
-    int i, j, csh_format;
+    int i, j;
     HYD_Env_t *env;
-    char *envstr, *tmp[HYDU_NUM_JOIN_STR], *inc;
+    char *envstr, *tmp[HYDU_NUM_JOIN_STR];
     HYD_Status status = HYD_SUCCESS;
 
     HYDU_FUNC_ENTER();

Modified: mpich2/trunk/src/pm/hydra/utils/launch/launch.c
===================================================================
--- mpich2/trunk/src/pm/hydra/utils/launch/launch.c	2009-03-10 08:50:37 UTC (rev 3997)
+++ mpich2/trunk/src/pm/hydra/utils/launch/launch.c	2009-03-10 21:18:00 UTC (rev 3998)
@@ -8,7 +8,7 @@
 
 HYD_Status HYDU_Create_process(char **client_arg, int *in, int *out, int *err, int *pid)
 {
-    int inpipe[2], outpipe[2], errpipe[2], arg, tpid;
+    int inpipe[2], outpipe[2], errpipe[2], tpid;
     HYD_Status status = HYD_SUCCESS;
 
     HYDU_FUNC_ENTER();


Property changes on: mpich2/trunk/src/pm/hydra/utils/timer
___________________________________________________________________
Name: svn:ignore
   + Makefile
Makefile.in


Added: mpich2/trunk/src/pm/hydra/utils/timer/Makefile.sm
===================================================================
--- mpich2/trunk/src/pm/hydra/utils/timer/Makefile.sm	                        (rev 0)
+++ mpich2/trunk/src/pm/hydra/utils/timer/Makefile.sm	2009-03-10 21:18:00 UTC (rev 3998)
@@ -0,0 +1,14 @@
+# -*- Mode: Makefile; -*-
+#
+# (C) 2008 by Argonne National Laboratory.
+#     See COPYRIGHT in top-level directory.
+#
+
+HYDRA_LIB_PATH = ../../lib
+
+libhydra_a_DIR = ${HYDRA_LIB_PATH}
+libhydra_a_SOURCES = timer.c
+INCLUDES = -I${abs_srcdir}/../../include \
+	-I${abs_srcdir}/../../../../include \
+	-I../../include \
+	-I../../../../include

Added: mpich2/trunk/src/pm/hydra/utils/timer/timer.c
===================================================================
--- mpich2/trunk/src/pm/hydra/utils/timer/timer.c	                        (rev 0)
+++ mpich2/trunk/src/pm/hydra/utils/timer/timer.c	2009-03-10 21:18:00 UTC (rev 3998)
@@ -0,0 +1,46 @@
+/* -*- Mode: C; c-basic-offset:4 ; -*- */
+/*
+ *  (C) 2008 by Argonne National Laboratory.
+ *      See COPYRIGHT in top-level directory.
+ */
+
+#include "hydra_utils.h"
+
+/* FIXME: Here we assume that the timer is gettimeofday. */
+
+void HYDU_Time_set(HYD_Time time, int * val)
+{
+    if (val == NULL) {
+        /* Set time to right now */
+        gettimeofday(&time, NULL);
+    }
+    else {
+        time.tv_sec = *val;
+        time.tv_usec = 0;
+    }
+}
+
+int HYDU_Time_left(HYD_Time start, HYD_Time timeout)
+{
+    HYD_Time now;
+    int time_left;
+
+    HYDU_FUNC_ENTER();
+
+    if (timeout.tv_sec < 0) {
+        time_left = -1;
+        goto fn_exit;
+    }
+    else {
+        gettimeofday(&now, NULL);
+        if (timeout.tv_sec > (now.tv_sec - start.tv_sec)) {
+            time_left = (1000 * (timeout.tv_sec - now.tv_sec + start.tv_sec));
+        }
+        else
+            time_left = 0;
+    }
+
+fn_exit:
+    HYDU_FUNC_EXIT();
+    return time_left;
+}



More information about the mpich2-commits mailing list