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 --- .../test_transport_api_manipulation_cfg.c | 24 +++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'src/transport/test_transport_api_manipulation_cfg.c') diff --git a/src/transport/test_transport_api_manipulation_cfg.c b/src/transport/test_transport_api_manipulation_cfg.c index 49e74ffaf..e7cccb812 100644 --- a/src/transport/test_transport_api_manipulation_cfg.c +++ b/src/transport/test_transport_api_manipulation_cfg.c @@ -67,9 +67,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; @@ -93,10 +93,10 @@ end () { GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "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) @@ -110,12 +110,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_DEBUG, "Fail! Stopping peers\n"); - if (send_task != GNUNET_SCHEDULER_NO_TASK) + if (send_task != NULL) GNUNET_SCHEDULER_cancel (send_task); if (cc != NULL) @@ -172,7 +172,7 @@ notify_request_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; @@ -201,7 +201,7 @@ notify_request_ready (void *cls, size_t size, void *buf) static void sendtask_request_task (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; @@ -232,7 +232,7 @@ notify_response_ready (void *cls, size_t size, void *buf) { GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "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; @@ -261,7 +261,7 @@ notify_response_ready (void *cls, size_t size, void *buf) static void sendtask_response_task (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; @@ -458,7 +458,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; @@ -478,7 +478,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