aboutsummaryrefslogtreecommitdiff
path: root/src/peerstore/gnunet-service-peerstore.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/peerstore/gnunet-service-peerstore.c')
-rw-r--r--src/peerstore/gnunet-service-peerstore.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/peerstore/gnunet-service-peerstore.c b/src/peerstore/gnunet-service-peerstore.c
index b78276922..c410630c9 100644
--- a/src/peerstore/gnunet-service-peerstore.c
+++ b/src/peerstore/gnunet-service-peerstore.c
@@ -67,6 +67,8 @@ shutdown_task (void *cls,
67 GNUNET_free (db_lib_name); 67 GNUNET_free (db_lib_name);
68 db_lib_name = NULL; 68 db_lib_name = NULL;
69 } 69 }
70
71 GNUNET_SCHEDULER_shutdown();
70} 72}
71 73
72/** 74/**
@@ -78,6 +80,8 @@ cleanup_expired_records(void *cls,
78{ 80{
79 int deleted; 81 int deleted;
80 82
83 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
84 return;
81 GNUNET_assert(NULL != db); 85 GNUNET_assert(NULL != db);
82 deleted = db->expire_records(db->cls, GNUNET_TIME_absolute_get()); 86 deleted = db->expire_records(db->cls, GNUNET_TIME_absolute_get());
83 GNUNET_log(GNUNET_ERROR_TYPE_INFO, "%d records expired.\n", deleted); 87 GNUNET_log(GNUNET_ERROR_TYPE_INFO, "%d records expired.\n", deleted);
@@ -266,7 +270,7 @@ run (void *cls,
266 GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Could not load database backend `%s'\n", db_lib_name); 270 GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Could not load database backend `%s'\n", db_lib_name);
267 else 271 else
268 { 272 {
269 cleanup_expired_records(NULL, NULL); 273 GNUNET_SCHEDULER_add_now(&cleanup_expired_records, NULL);
270 GNUNET_SERVER_add_handlers (server, handlers); 274 GNUNET_SERVER_add_handlers (server, handlers);
271 GNUNET_SERVER_disconnect_notify (server, 275 GNUNET_SERVER_disconnect_notify (server,
272 &handle_client_disconnect, 276 &handle_client_disconnect,