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.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'src/transport/test_transport_api.c') diff --git a/src/transport/test_transport_api.c b/src/transport/test_transport_api.c index 4456c1dbf..ce6db8ad1 100644 --- a/src/transport/test_transport_api.c +++ b/src/transport/test_transport_api.c @@ -58,9 +58,9 @@ static int s_connected; static int s_sending; -static GNUNET_SCHEDULER_TaskIdentifier die_task; +static struct GNUNET_SCHEDULER_Task * die_task; -static GNUNET_SCHEDULER_TaskIdentifier send_task; +static struct GNUNET_SCHEDULER_Task * send_task; static struct PeerContext *p1; @@ -82,10 +82,10 @@ end () { GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Stopping peers\n"); - if (send_task != GNUNET_SCHEDULER_NO_TASK) + if (send_task != NULL) GNUNET_SCHEDULER_cancel (send_task); - if (die_task != GNUNET_SCHEDULER_NO_TASK) + if (die_task != NULL) GNUNET_SCHEDULER_cancel (die_task); if (th != NULL) @@ -99,12 +99,12 @@ 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_INFO, "Fail! Stopping peers\n"); - if (send_task != GNUNET_SCHEDULER_NO_TASK) + if (send_task != NULL) GNUNET_SCHEDULER_cancel (send_task); if (cc != NULL) @@ -197,7 +197,7 @@ notify_ready (void *cls, size_t size, void *buf) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Timeout occurred while waiting for transmit_ready\n"); - if (GNUNET_SCHEDULER_NO_TASK != die_task) + if (NULL != die_task) GNUNET_SCHEDULER_cancel (die_task); die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL); ok = 42; @@ -227,7 +227,7 @@ notify_ready (void *cls, size_t size, void *buf) static void sendtask (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { - send_task = GNUNET_SCHEDULER_NO_TASK; + send_task = NULL; if ((tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN) != 0) return; @@ -351,7 +351,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; @@ -371,7 +371,7 @@ check () GNUNET_GETOPT_OPTION_END }; - send_task = GNUNET_SCHEDULER_NO_TASK; + send_task = NULL; ok = 1; GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, test_name, -- cgit v1.2.3