gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r9976 - gnunet/src/hostlist


From: gnunet
Subject: [GNUnet-SVN] r9976 - gnunet/src/hostlist
Date: Mon, 11 Jan 2010 13:19:17 +0100

Author: grothoff
Date: 2010-01-11 13:19:17 +0100 (Mon, 11 Jan 2010)
New Revision: 9976

Modified:
   gnunet/src/hostlist/hostlist-client.c
   gnunet/src/hostlist/hostlist-server.c
Log:
clean up code fixes

Modified: gnunet/src/hostlist/hostlist-client.c
===================================================================
--- gnunet/src/hostlist/hostlist-client.c       2010-01-11 11:10:45 UTC (rev 
9975)
+++ gnunet/src/hostlist/hostlist-client.c       2010-01-11 12:19:17 UTC (rev 
9976)
@@ -297,11 +297,6 @@
       curl_easy_cleanup (curl);
       curl = NULL;
     }  
-  if (transport != NULL)
-    {
-      GNUNET_TRANSPORT_disconnect (transport);
-      transport = NULL;
-    }
   GNUNET_free_non_null (current_url);
   current_url = NULL;
   schedule_hostlist_task ();
@@ -534,7 +529,9 @@
 check_task (void *cls,
            const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
-  
+  current_task = GNUNET_SCHEDULER_NO_TASK;
+  if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
+    return;
   if (connection_count < MIN_CONNECTIONS)
     download_hostlist ();
   else
@@ -552,7 +549,10 @@
   struct GNUNET_TIME_Relative delay;
 
   if (stats == NULL)
-    return; /* in shutdown */
+    {
+      curl_global_cleanup ();
+      return; /* in shutdown */
+    }
   delay = hostlist_delay;
   if (hostlist_delay.value == 0)
     hostlist_delay = GNUNET_TIME_UNIT_SECONDS;
@@ -679,13 +679,22 @@
 void
 GNUNET_HOSTLIST_client_stop ()
 {
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+             "Hostlist client shutdown\n");
   if (current_task != GNUNET_SCHEDULER_NO_TASK)
-    GNUNET_SCHEDULER_cancel (sched,
-                            current_task);
+    {
+      GNUNET_SCHEDULER_cancel (sched,
+                              current_task);
+      if (transport != NULL)
+       {
+         GNUNET_TRANSPORT_disconnect (transport);
+         transport = NULL;
+       }
+      curl_global_cleanup ();
+    }
+  GNUNET_assert (NULL == transport);
   GNUNET_free_non_null (proxy);
   proxy = NULL;
-  if (sched != NULL)
-    curl_global_cleanup ();
   cfg = NULL;
   sched = NULL;
   stats = NULL;

Modified: gnunet/src/hostlist/hostlist-server.c
===================================================================
--- gnunet/src/hostlist/hostlist-server.c       2010-01-11 11:10:45 UTC (rev 
9975)
+++ gnunet/src/hostlist/hostlist-server.c       2010-01-11 12:19:17 UTC (rev 
9976)
@@ -346,6 +346,8 @@
 void
 GNUNET_HOSTLIST_server_stop ()
 {
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+             "Hostlist server shutdown\n");
   if (GNUNET_SCHEDULER_NO_TASK != hostlist_task)
     {
       GNUNET_SCHEDULER_cancel (sched, hostlist_task);





reply via email to

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