From a0911d37811e211ce0ddb8d07efdd6eb178e6485 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 11 Jan 2010 12:19:17 +0000 Subject: [PATCH] clean up code fixes --- src/hostlist/hostlist-client.c | 31 ++++++++++++++++++++----------- src/hostlist/hostlist-server.c | 2 ++ 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/src/hostlist/hostlist-client.c b/src/hostlist/hostlist-client.c index acb5301bc..9fcf2ded1 100644 --- a/src/hostlist/hostlist-client.c +++ b/src/hostlist/hostlist-client.c @@ -297,11 +297,6 @@ clean_up () 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 @@ static void 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 @@ schedule_hostlist_task () 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 @@ GNUNET_HOSTLIST_client_start (const struct GNUNET_CONFIGURATION_Handle *c, 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; diff --git a/src/hostlist/hostlist-server.c b/src/hostlist/hostlist-server.c index f1819d4c7..a928040fa 100644 --- a/src/hostlist/hostlist-server.c +++ b/src/hostlist/hostlist-server.c @@ -346,6 +346,8 @@ GNUNET_HOSTLIST_server_start (const struct GNUNET_CONFIGURATION_Handle *c, 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); -- 2.25.1