diff options
author | Christian Grothoff <christian@grothoff.org> | 2016-03-16 21:48:33 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2016-03-16 21:48:33 +0000 |
commit | be8464c9e6dbc81c7bd002bd5657611628a1357d (patch) | |
tree | 8208f4ffdd111807184d1578a84b392d8caf2af9 /src | |
parent | 1b232edaaf7ea6f77d3246c390a43ac25fbd164b (diff) | |
download | gnunet-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.c | 2 | ||||
-rw-r--r-- | src/ats/gnunet-service-ats_addresses.c | 2 | ||||
-rw-r--r-- | src/ats/gnunet-service-ats_connectivity.c | 2 |
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 | |||
130 | cleanup_task (void *cls, | 130 | cleanup_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, | |||
217 | void | 217 | void |
218 | GAS_connectivity_done () | 218 | GAS_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 | } |