From 95f9076a2139f5fb042b944a0658b6cda2fa35db Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sat, 30 Apr 2016 08:17:37 +0000 Subject: implementing new scheduler shutdown semantics --- src/core/gnunet-core.c | 3 +-- src/core/gnunet-service-core.c | 5 ++--- src/core/gnunet-service-core_kx.c | 7 ++++--- src/core/test_core_api_mq.c | 30 +++++++++++++++++++----------- src/core/test_core_quota_compliance.c | 13 +++---------- 5 files changed, 29 insertions(+), 29 deletions(-) (limited to 'src/core') diff --git a/src/core/gnunet-core.c b/src/core/gnunet-core.c index 968072e22..d91dc304d 100644 --- a/src/core/gnunet-core.c +++ b/src/core/gnunet-core.c @@ -155,8 +155,7 @@ run (void *cls, char *const *args, const char *cfgfile, _("Failed to connect to CORE service!\n")); return; } - GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, - &shutdown_task, NULL); + GNUNET_SCHEDULER_add_shutdown (&shutdown_task, NULL); } diff --git a/src/core/gnunet-service-core.c b/src/core/gnunet-service-core.c index 1d9de8666..70b83b24c 100644 --- a/src/core/gnunet-service-core.c +++ b/src/core/gnunet-service-core.c @@ -106,9 +106,8 @@ run (void *cls, struct GNUNET_SERVER_Handle *server, return; } GSC_stats = GNUNET_STATISTICS_create ("core", GSC_cfg); - GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, - &shutdown_task, - NULL); + GNUNET_SCHEDULER_add_shutdown (&shutdown_task, + NULL); GNUNET_SERVER_suspend (server); GSC_TYPEMAP_init (); pk = GNUNET_CRYPTO_eddsa_key_create_from_file (keyfile); diff --git a/src/core/gnunet-service-core_kx.c b/src/core/gnunet-service-core_kx.c index 8250bcc6f..9bb5af100 100644 --- a/src/core/gnunet-service-core_kx.c +++ b/src/core/gnunet-service-core_kx.c @@ -745,9 +745,10 @@ GSC_KX_start (const struct GNUNET_PeerIdentity *pid) { /* peer with "higher" identity starts a delayed KX, if the "lower" peer * does not start a KX since he sees no reasons to do so */ - kx->retry_set_key_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, - &set_key_retry_task, - kx); + kx->retry_set_key_task + = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, + &set_key_retry_task, + kx); } return kx; } diff --git a/src/core/test_core_api_mq.c b/src/core/test_core_api_mq.c index a82465e74..8ece78e58 100644 --- a/src/core/test_core_api_mq.c +++ b/src/core/test_core_api_mq.c @@ -29,15 +29,15 @@ /** * Has the test been successful? */ -int result; +static int result; -unsigned int num_received; +static unsigned int num_received; -struct GNUNET_CORE_Handle *core; +static struct GNUNET_CORE_Handle *core; -struct GNUNET_MQ_Handle *mq; +static struct GNUNET_MQ_Handle *mq; -struct GNUNET_PeerIdentity myself; +static struct GNUNET_PeerIdentity myself; static void @@ -55,15 +55,19 @@ init_cb (void *cls, static void -connect_cb (void *cls, const struct GNUNET_PeerIdentity *peer) +connect_cb (void *cls, + const struct GNUNET_PeerIdentity *peer) { - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Connected to peer %s.\n", + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Connected to peer %s.\n", GNUNET_i2s (peer)); if (0 == memcmp (peer, &myself, sizeof (struct GNUNET_PeerIdentity))) { unsigned int i; struct GNUNET_MQ_Envelope *ev; - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Queueing messages.\n"); + + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Queueing messages.\n"); for (i = 0; i < NUM_MSG; i++) { ev = GNUNET_MQ_msg_header (GNUNET_MESSAGE_TYPE_TEST); @@ -78,7 +82,9 @@ handle_test (void *cls, const struct GNUNET_PeerIdentity *other, const struct GNUNET_MessageHeader *message) { - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Got test message %d\n", num_received); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Got test message %d\n", + num_received); num_received++; if (NUM_MSG == num_received) { @@ -98,7 +104,8 @@ handle_test (void *cls, static void shutdown_task (void *cls) { - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Shutting down\n"); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Shutting down\n"); GNUNET_MQ_destroy (mq); GNUNET_CORE_disconnect (core); } @@ -129,9 +136,10 @@ run (void *cls, GNUNET_assert (0); return; } - GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &shutdown_task, NULL); + GNUNET_SCHEDULER_add_shutdown (&shutdown_task, NULL); } + int main (int argc, char *argv1[]) { diff --git a/src/core/test_core_quota_compliance.c b/src/core/test_core_quota_compliance.c index ed895df42..e28f57fa6 100644 --- a/src/core/test_core_quota_compliance.c +++ b/src/core/test_core_quota_compliance.c @@ -163,13 +163,9 @@ terminate_task (void *cls) static void terminate_task_error (void *cls) { - const struct GNUNET_SCHEDULER_TaskContext *tc; - err_task = NULL; - tc = GNUNET_SCHEDULER_get_task_context (); - if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Testcase failed!\n"); + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Testcase failed!\n"); terminate_peer (&p1); terminate_peer (&p2); //GNUNET_break (0); @@ -301,7 +297,6 @@ measurement_stop (void *cls) */ GNUNET_SCHEDULER_cancel (err_task); err_task = GNUNET_SCHEDULER_add_now (&terminate_task, NULL); - } @@ -357,7 +352,6 @@ transmit_ready (void *cls, size_t size, void *buf) } - static void connect_notify (void *cls, const struct GNUNET_PeerIdentity *peer) { @@ -375,8 +369,7 @@ connect_notify (void *cls, const struct GNUNET_PeerIdentity *peer) GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Asking core (1) for transmission to peer `%4s'\n", GNUNET_i2s (&p2.id)); - if (err_task != NULL) - GNUNET_SCHEDULER_cancel (err_task); + GNUNET_SCHEDULER_cancel (err_task); err_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &terminate_task_error, NULL); start_time = GNUNET_TIME_absolute_get (); -- cgit v1.2.3