From 147d72a99e4ed0558c98fe7c9c41062ede51a68a Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 2 Sep 2011 11:21:00 +0000 Subject: cleanup API for get_hello and get_hello_cancel --- src/dht/gnunet-service-dht.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/dht') diff --git a/src/dht/gnunet-service-dht.c b/src/dht/gnunet-service-dht.c index cbeecb5cc..b864e39e3 100644 --- a/src/dht/gnunet-service-dht.c +++ b/src/dht/gnunet-service-dht.c @@ -782,6 +782,10 @@ static struct GNUNET_DATACACHE_Handle *datacache; */ struct GNUNET_STATISTICS_Handle *stats; +/** + * Handle to get our current HELLO. + */ +static struct GNUNET_TRANSPORT_GetHelloHandle *ghh; /** * The configuration the DHT service is running with @@ -5001,11 +5005,16 @@ shutdown_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) int bucket_count; struct PeerInfo *pos; + if (NULL != ghh) + { + GNUNET_TRANSPORT_get_hello_cancel (ghh); + ghh = NULL; + } if (transport_handle != NULL) { GNUNET_free_non_null (my_hello); - GNUNET_TRANSPORT_get_hello_cancel (transport_handle, &process_hello, NULL); GNUNET_TRANSPORT_disconnect (transport_handle); + transport_handle = NULL; } if (coreAPI != NULL) { @@ -5304,7 +5313,7 @@ run (void *cls, struct GNUNET_SERVER_Handle *server, transport_handle = GNUNET_TRANSPORT_connect (cfg, NULL, NULL, NULL, NULL, NULL); if (transport_handle != NULL) - GNUNET_TRANSPORT_get_hello (transport_handle, &process_hello, NULL); + ghh = GNUNET_TRANSPORT_get_hello (transport_handle, &process_hello, NULL); else GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "Failed to connect to transport service!\n"); -- cgit v1.2.3