From f1f603c7d0b3f03dca46a4f313472288eb080eb1 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Wed, 24 Dec 2014 01:10:47 +0000 Subject: making GNUNET_SCHEDULER_cancel() perform in O(1) instead of O(n) to help or even fully address #3247 --- src/transport/test_transport_api_timeout.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'src/transport/test_transport_api_timeout.c') diff --git a/src/transport/test_transport_api_timeout.c b/src/transport/test_transport_api_timeout.c index 01af9f81b..d243e8fbe 100644 --- a/src/transport/test_transport_api_timeout.c +++ b/src/transport/test_transport_api_timeout.c @@ -48,9 +48,9 @@ static char *test_name; static int ok; -static GNUNET_SCHEDULER_TaskIdentifier die_task; +static struct GNUNET_SCHEDULER_Task * die_task; -static GNUNET_SCHEDULER_TaskIdentifier timer_task; +static struct GNUNET_SCHEDULER_Task * timer_task; static struct GNUNET_TRANSPORT_TESTING_handle *tth; @@ -85,16 +85,16 @@ end () { GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stopping peers\n"); - if (timer_task != GNUNET_SCHEDULER_NO_TASK) + if (timer_task != NULL) { GNUNET_SCHEDULER_cancel (timer_task); - timer_task = GNUNET_SCHEDULER_NO_TASK; + timer_task = NULL; } - if (die_task != GNUNET_SCHEDULER_NO_TASK) + if (die_task != NULL) { GNUNET_SCHEDULER_cancel (die_task); - die_task = GNUNET_SCHEDULER_NO_TASK; + die_task = NULL; } if (th != NULL) @@ -123,14 +123,14 @@ end () static void end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { - die_task = GNUNET_SCHEDULER_NO_TASK; + die_task = NULL; GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Fail! Stopping peers\n"); - if (timer_task != GNUNET_SCHEDULER_NO_TASK) + if (timer_task != NULL) { GNUNET_SCHEDULER_cancel (timer_task); - timer_task = GNUNET_SCHEDULER_NO_TASK; + timer_task = NULL; } if (cc != NULL) GNUNET_TRANSPORT_TESTING_connect_peers_cancel (tth, cc); @@ -185,7 +185,7 @@ timer (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { static int percentage; - timer_task = GNUNET_SCHEDULER_NO_TASK; + timer_task = NULL; if ((tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN) != 0) return; @@ -228,7 +228,7 @@ testing_connect_cb (struct PeerContext *p1, struct PeerContext *p2, void *cls) GNUNET_STRINGS_relative_time_to_string (WAIT, GNUNET_YES)); - if (die_task != GNUNET_SCHEDULER_NO_TASK) + if (die_task != NULL) GNUNET_SCHEDULER_cancel (die_task); die_task = GNUNET_SCHEDULER_add_delayed (WAIT, &end_badly, NULL); @@ -279,7 +279,7 @@ run (void *cls, char *const *args, const char *cfgfile, if ((p1 == NULL) || (p2 == NULL)) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Fail! Could not start peers!\n"); - if (die_task != GNUNET_SCHEDULER_NO_TASK) + if (die_task != NULL) GNUNET_SCHEDULER_cancel (die_task); die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL); return; @@ -298,7 +298,7 @@ check () GNUNET_GETOPT_OPTION_END }; - timer_task = GNUNET_SCHEDULER_NO_TASK; + timer_task = NULL; ok = 1; GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, -- cgit v1.2.3