gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r25682 - gnunet/src/testbed


From: gnunet
Subject: [GNUnet-SVN] r25682 - gnunet/src/testbed
Date: Thu, 3 Jan 2013 15:58:21 +0100

Author: harsha
Date: 2013-01-03 15:58:20 +0100 (Thu, 03 Jan 2013)
New Revision: 25682

Modified:
   gnunet/src/testbed/testbed_api_testbed.c
Log:
fix #2720

Modified: gnunet/src/testbed/testbed_api_testbed.c
===================================================================
--- gnunet/src/testbed/testbed_api_testbed.c    2013-01-03 14:22:34 UTC (rev 
25681)
+++ gnunet/src/testbed/testbed_api_testbed.c    2013-01-03 14:58:20 UTC (rev 
25682)
@@ -218,6 +218,11 @@
   enum GNUNET_TESTBED_TopologyOption topology;
 
   /**
+   * Have we already shutdown
+   */
+  int shutdown;
+
+  /**
    * Number of hosts in the given host file
    */
   unsigned int num_hosts;
@@ -316,7 +321,7 @@
   rc->peer_count++;
   if (rc->peer_count < rc->num_peers)
     return;
-  LOG (GNUNET_ERROR_TYPE_DEBUG, "Required peers created successfully\n");
+  LOG (GNUNET_ERROR_TYPE_DEBUG, "%u peers created successfully\n", 
rc->num_peers);
   GNUNET_SCHEDULER_add_now (&start_peers_task, rc);
 }
 
@@ -382,6 +387,8 @@
 static void
 shutdown_now (struct RunContext *rc)
 {
+  if (GNUNET_YES == rc->shutdown)
+    return;
   if (GNUNET_SCHEDULER_NO_TASK != rc->shutdown_run_task)
     GNUNET_SCHEDULER_cancel (rc->shutdown_run_task);
   rc->shutdown_run_task = GNUNET_SCHEDULER_add_now (&shutdown_run, rc);
@@ -405,6 +412,8 @@
 
   GNUNET_assert (GNUNET_SCHEDULER_NO_TASK != rc->shutdown_run_task);
   rc->shutdown_run_task = GNUNET_SCHEDULER_NO_TASK;
+  GNUNET_assert (GNUNET_NO == rc->shutdown);
+  rc->shutdown = GNUNET_YES;
   if (NULL != rc->hc_handles)
   {
     for (nhost = 0; nhost < rc->num_hosts; nhost++)
@@ -470,6 +479,7 @@
           rc->peer_count++;
           continue;
         }
+        LOG (GNUNET_ERROR_TYPE_DEBUG, "Stopping peer %u\n", peer);
         dll_op = GNUNET_malloc (sizeof (struct DLLOperation));
         dll_op->op = GNUNET_TESTBED_peer_stop (rc->peers[peer], NULL, NULL);
         dll_op->cls = rc->peers[peer];




reply via email to

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