gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r22461 - gnunet/src/testbed
Date: Tue, 3 Jul 2012 15:40:54 +0200

Author: harsha
Date: 2012-07-03 15:40:54 +0200 (Tue, 03 Jul 2012)
New Revision: 22461

Modified:
   gnunet/src/testbed/gnunet-service-testbed.c
Log:
-clearing LCFContext queue on shutdown

Modified: gnunet/src/testbed/gnunet-service-testbed.c
===================================================================
--- gnunet/src/testbed/gnunet-service-testbed.c 2012-07-03 13:32:02 UTC (rev 
22460)
+++ gnunet/src/testbed/gnunet-service-testbed.c 2012-07-03 13:40:54 UTC (rev 
22461)
@@ -893,6 +893,7 @@
 shutdown_task (void *cls,
                const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
+  struct LCFContextQueue *lcfq;
   uint32_t host_id;
   uint32_t route_id;
 
@@ -907,6 +908,24 @@
     GNUNET_DISK_file_close (fh);
     fh = NULL;
   }
+  if (NULL != lcfq_head)
+  {
+    if (GNUNET_SCHEDULER_NO_TASK != lcf_proc_task_id)
+    {
+      GNUNET_SCHEDULER_cancel (lcf_proc_task_id);
+      lcf_proc_task_id = GNUNET_SCHEDULER_NO_TASK;
+    }
+    if (NULL != lcfq_head->lcf->rhandle)
+      GNUNET_TESTBED_cancel_registration (lcfq_head->lcf->rhandle);
+  }
+  GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == lcf_proc_task_id);
+  for (lcfq = lcfq_head; NULL != lcfq; lcfq = lcfq_head)
+  {
+    GNUNET_CONFIGURATION_destroy (lcfq->lcf->cfg);
+    GNUNET_free (lcfq->lcf);
+    GNUNET_CONTAINER_DLL_remove (lcfq_head, lcfq_tail, lcfq);
+    GNUNET_free (lcfq);
+  }
   /* Clear host list */
   for (host_id = 0; host_id < host_list_size; host_id++)
     if (NULL != host_list[host_id])




reply via email to

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