gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r10879 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r10879 - gnunet/src/transport
Date: Mon, 12 Apr 2010 13:56:11 +0200

Author: grothoff
Date: 2010-04-12 13:56:11 +0200 (Mon, 12 Apr 2010)
New Revision: 10879

Modified:
   gnunet/src/transport/gnunet-service-transport.c
Log:
fix shutdown

Modified: gnunet/src/transport/gnunet-service-transport.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport.c     2010-04-12 11:40:01 UTC 
(rev 10878)
+++ gnunet/src/transport/gnunet-service-transport.c     2010-04-12 11:56:11 UTC 
(rev 10879)
@@ -1607,8 +1607,10 @@
 expire_address_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
   struct TransportPlugin *plugin = cls;
+
   plugin->address_update_task = GNUNET_SCHEDULER_NO_TASK;
-  update_addresses (plugin, GNUNET_NO);
+  if (0 == (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
+    update_addresses (plugin, GNUNET_NO);
 }
 
 
@@ -3695,6 +3697,12 @@
   while (NULL != (plug = plugins))
     {
       plugins = plug->next;
+      if (plug->address_update_task != GNUNET_SCHEDULER_NO_TASK)
+       {
+         GNUNET_SCHEDULER_cancel (plug->env.sched, 
+                                  plug->address_update_task);
+         plug->address_update_task = GNUNET_SCHEDULER_NO_TASK;
+       }
       GNUNET_break (NULL == GNUNET_PLUGIN_unload (plug->lib_name, plug->api));
       GNUNET_free (plug->lib_name);
       GNUNET_free (plug->short_name);





reply via email to

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