don't stop churned peers, clean up files
authorNathan S. Evans <evans@in.tum.de>
Wed, 23 Jun 2010 09:12:26 +0000 (09:12 +0000)
committerNathan S. Evans <evans@in.tum.de>
Wed, 23 Jun 2010 09:12:26 +0000 (09:12 +0000)
src/testing/testing.c

index c2165030041f9da039c857e166ceda59ed9d072d..92eefa76ef1e4869dfbdb782d8283ee85f92cf6e 100644 (file)
@@ -951,6 +951,23 @@ GNUNET_TESTING_daemon_stop (struct GNUNET_TESTING_Daemon *d,
       return;
     }
 
+  if ((d->running == GNUNET_NO) && (d->churn == GNUNET_YES)) /* Peer has already been stopped in churn context! */
+    {
+      /* Free what was left from churning! */
+      GNUNET_assert(d->cfg != NULL);
+      GNUNET_CONFIGURATION_destroy (d->cfg);
+      if (delete_files == GNUNET_YES)
+        {
+          UNLINK(d->cfgfile);
+        }
+      GNUNET_free (d->cfgfile);
+      GNUNET_free_non_null (d->hostname);
+      GNUNET_free_non_null (d->username);
+      if (NULL != d->dead_cb)
+        d->dead_cb (d->dead_cb_cls, NULL);
+      return;
+    }
+
   del_arg = NULL;
   if (delete_files == GNUNET_YES)
     {