gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r14641 - gnunet/src/testing


From: gnunet
Subject: [GNUnet-SVN] r14641 - gnunet/src/testing
Date: Mon, 14 Mar 2011 19:58:18 +0100

Author: nevans
Date: 2011-03-14 19:58:18 +0100 (Mon, 14 Mar 2011)
New Revision: 14641

Modified:
   gnunet/src/testing/testing_group.c
Log:
better exception handling

Modified: gnunet/src/testing/testing_group.c
===================================================================
--- gnunet/src/testing/testing_group.c  2011-03-14 18:30:08 UTC (rev 14640)
+++ gnunet/src/testing/testing_group.c  2011-03-14 18:58:18 UTC (rev 14641)
@@ -5594,6 +5594,8 @@
   struct GNUNET_OS_Process *proc;
   unsigned int i;
   char *arg;
+  enum GNUNET_OS_ProcessStatusType type;
+  unsigned long code;
   GNUNET_TESTING_NotifyDaemonRunning cb;
   /* ssh address@hidden peerStartHelper /path/to/basedirectory */
 
@@ -5612,6 +5614,7 @@
   GNUNET_log(GNUNET_ERROR_TYPE_WARNING, "starting peers with cmd ssh %s %s 
%s\n", arg, "peerStartHelper.pl", tempdir);
 
   GNUNET_OS_process_wait (proc);
+  GNUNET_OS_process_status (proc, &type, &code);
   GNUNET_OS_process_close(proc);
   GNUNET_free (tempdir);
   GNUNET_free (baseservicehome);
@@ -5625,12 +5628,24 @@
         {
           cb = helper->pg->peers[i].daemon->cb;
           helper->pg->peers[i].daemon->cb = NULL;
+
           if (NULL != cb)
-            cb (helper->pg->peers[i].daemon->cb_cls,
-                &helper->pg->peers[i].daemon->id,
-                helper->pg->peers[i].daemon->cfg, helper->pg->peers[i].daemon,
-                NULL);
+          {
+            if ((type != GNUNET_OS_PROCESS_EXITED) || (code != 0))
+              {
+                cb (helper->pg->peers[i].daemon->cb_cls,
+                    &helper->pg->peers[i].daemon->id,
+                    helper->pg->peers[i].daemon->cfg, 
helper->pg->peers[i].daemon,
+                    "Failed to execute peerStartHelper.pl, or return code 
bad!");
+              }
+            else
+              cb (helper->pg->peers[i].daemon->cb_cls,
+                  &helper->pg->peers[i].daemon->id,
+                  helper->pg->peers[i].daemon->cfg, 
helper->pg->peers[i].daemon,
+                  NULL);
 
+          }
+
         }
     }
 
@@ -5978,7 +5993,7 @@
       if ((pg->hostkey_data != NULL) && (hostcnt > 0))
         {
           GNUNET_log(GNUNET_ERROR_TYPE_WARNING, "Have hostkey data and running 
on remote hosts!\n");
-          GNUNET_TESTING_daemon_start (pcfg,
+          pg->peers[off].daemon = GNUNET_TESTING_daemon_start (pcfg,
                                        timeout,
                                        GNUNET_YES,
                                        hostname,




reply via email to

[Prev in Thread] Current Thread [Next in Thread]