gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r24286 - gnunet/src/testbed
Date: Fri, 12 Oct 2012 12:11:18 +0200

Author: harsha
Date: 2012-10-12 12:11:18 +0200 (Fri, 12 Oct 2012)
New Revision: 24286

Modified:
   gnunet/src/testbed/testbed_api_testbed.c
Log:
tolerate stopped peers while shutting down testbed_run

Modified: gnunet/src/testbed/testbed_api_testbed.c
===================================================================
--- gnunet/src/testbed/testbed_api_testbed.c    2012-10-12 09:21:24 UTC (rev 
24285)
+++ gnunet/src/testbed/testbed_api_testbed.c    2012-10-12 10:11:18 UTC (rev 
24286)
@@ -428,8 +428,28 @@
     if (NULL != rc->peers)
     {
       rc->peer_count = 0;
+      /* Check if some peers are stopped */
       for (peer = 0; peer < rc->num_peers; peer++)
       {
+        if (PS_STOPPED != rc->peers[peer]->state)
+          break;
+      }
+      if (peer == rc->num_peers)
+      {
+        /* All peers are stopped */
+        rc->state = RC_PEERS_STOPPED;
+        for (peer = 0; peer < rc->num_peers; peer++)
+        {
+          dll_op = GNUNET_malloc (sizeof (struct DLLOperation));
+          dll_op->op = GNUNET_TESTBED_peer_destroy (rc->peers[peer]);
+          GNUNET_CONTAINER_DLL_insert_tail (rc->dll_op_head, rc->dll_op_tail,
+                                            dll_op);
+        }
+        return;
+      }
+      /* Some peers are stopped */
+      for (peer = 0; peer < rc->num_peers; peer++)
+      {
         if (PS_STARTED != rc->peers[peer]->state)
         {
           rc->peer_count++;




reply via email to

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