aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2016-03-16 21:48:33 +0000
committerChristian Grothoff <christian@grothoff.org>2016-03-16 21:48:33 +0000
commitbe8464c9e6dbc81c7bd002bd5657611628a1357d (patch)
tree8208f4ffdd111807184d1578a84b392d8caf2af9 /src
parent1b232edaaf7ea6f77d3246c390a43ac25fbd164b (diff)
downloadgnunet-be8464c9e6dbc81c7bd002bd5657611628a1357d.tar.gz
gnunet-be8464c9e6dbc81c7bd002bd5657611628a1357d.zip
lock solver during shutdown to terminate faster
Diffstat (limited to 'src')
-rw-r--r--src/ats/gnunet-service-ats.c2
-rw-r--r--src/ats/gnunet-service-ats_addresses.c2
-rw-r--r--src/ats/gnunet-service-ats_connectivity.c2
3 files changed, 6 insertions, 0 deletions
diff --git a/src/ats/gnunet-service-ats.c b/src/ats/gnunet-service-ats.c
index 2906e6046..11db62e2d 100644
--- a/src/ats/gnunet-service-ats.c
+++ b/src/ats/gnunet-service-ats.c
@@ -130,6 +130,8 @@ static void
130cleanup_task (void *cls, 130cleanup_task (void *cls,
131 const struct GNUNET_SCHEDULER_TaskContext *tc) 131 const struct GNUNET_SCHEDULER_TaskContext *tc)
132{ 132{
133 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
134 "ATS shutdown initiated\n");
133 GAS_connectivity_done (); 135 GAS_connectivity_done ();
134 GAS_addresses_done (); 136 GAS_addresses_done ();
135 GAS_plugin_done (); 137 GAS_plugin_done ();
diff --git a/src/ats/gnunet-service-ats_addresses.c b/src/ats/gnunet-service-ats_addresses.c
index a49a002e9..d8f467688 100644
--- a/src/ats/gnunet-service-ats_addresses.c
+++ b/src/ats/gnunet-service-ats_addresses.c
@@ -405,7 +405,9 @@ GAS_addresses_done ()
405{ 405{
406 GNUNET_log(GNUNET_ERROR_TYPE_INFO, 406 GNUNET_log(GNUNET_ERROR_TYPE_INFO,
407 "Shutting down addresses\n"); 407 "Shutting down addresses\n");
408 GAS_plugin_solver_lock ();
408 GAS_addresses_destroy_all (); 409 GAS_addresses_destroy_all ();
410 GAS_plugin_solver_unlock ();
409 GNUNET_CONTAINER_multipeermap_destroy (GSA_addresses); 411 GNUNET_CONTAINER_multipeermap_destroy (GSA_addresses);
410 GSA_addresses = NULL; 412 GSA_addresses = NULL;
411} 413}
diff --git a/src/ats/gnunet-service-ats_connectivity.c b/src/ats/gnunet-service-ats_connectivity.c
index 38c953c9c..2cf434c70 100644
--- a/src/ats/gnunet-service-ats_connectivity.c
+++ b/src/ats/gnunet-service-ats_connectivity.c
@@ -217,9 +217,11 @@ free_request (void *cls,
217void 217void
218GAS_connectivity_done () 218GAS_connectivity_done ()
219{ 219{
220 GAS_plugin_solver_lock ();
220 GNUNET_CONTAINER_multipeermap_iterate (connection_requests, 221 GNUNET_CONTAINER_multipeermap_iterate (connection_requests,
221 &free_request, 222 &free_request,
222 NULL); 223 NULL);
224 GAS_plugin_solver_unlock ();
223 GNUNET_CONTAINER_multipeermap_destroy (connection_requests); 225 GNUNET_CONTAINER_multipeermap_destroy (connection_requests);
224 connection_requests = NULL; 226 connection_requests = NULL;
225} 227}