diff options
author | Christian Grothoff <christian@grothoff.org> | 2014-12-24 01:10:47 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2014-12-24 01:10:47 +0000 |
commit | f1f603c7d0b3f03dca46a4f313472288eb080eb1 (patch) | |
tree | 3a29966b02dfb83e0a8a8d5c42b3116380209fb0 /src/testbed/gnunet-testbed-profiler.c | |
parent | 53cd5b8eda2fa8db86b0907a62a39598981d008a (diff) | |
download | gnunet-f1f603c7d0b3f03dca46a4f313472288eb080eb1.tar.gz gnunet-f1f603c7d0b3f03dca46a4f313472288eb080eb1.zip |
making GNUNET_SCHEDULER_cancel() perform in O(1) instead of O(n) to help or even fully address #3247
Diffstat (limited to 'src/testbed/gnunet-testbed-profiler.c')
-rw-r--r-- | src/testbed/gnunet-testbed-profiler.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/testbed/gnunet-testbed-profiler.c b/src/testbed/gnunet-testbed-profiler.c index 17f1d6ba9..c45a6b0e2 100644 --- a/src/testbed/gnunet-testbed-profiler.c +++ b/src/testbed/gnunet-testbed-profiler.c | |||
@@ -55,12 +55,12 @@ static char *hosts_file; | |||
55 | /** | 55 | /** |
56 | * Abort task identifier | 56 | * Abort task identifier |
57 | */ | 57 | */ |
58 | static GNUNET_SCHEDULER_TaskIdentifier abort_task; | 58 | static struct GNUNET_SCHEDULER_Task * abort_task; |
59 | 59 | ||
60 | /** | 60 | /** |
61 | * Shutdown task identifier | 61 | * Shutdown task identifier |
62 | */ | 62 | */ |
63 | static GNUNET_SCHEDULER_TaskIdentifier shutdown_task; | 63 | static struct GNUNET_SCHEDULER_Task * shutdown_task; |
64 | 64 | ||
65 | /** | 65 | /** |
66 | * Global event mask for all testbed events | 66 | * Global event mask for all testbed events |
@@ -112,11 +112,11 @@ static int noninteractive; | |||
112 | static void | 112 | static void |
113 | do_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 113 | do_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
114 | { | 114 | { |
115 | shutdown_task = GNUNET_SCHEDULER_NO_TASK; | 115 | shutdown_task = NULL; |
116 | if (GNUNET_SCHEDULER_NO_TASK != abort_task) | 116 | if (NULL != abort_task) |
117 | { | 117 | { |
118 | GNUNET_SCHEDULER_cancel (abort_task); | 118 | GNUNET_SCHEDULER_cancel (abort_task); |
119 | abort_task = GNUNET_SCHEDULER_NO_TASK; | 119 | abort_task = NULL; |
120 | } | 120 | } |
121 | if (NULL != cfg) | 121 | if (NULL != cfg) |
122 | { | 122 | { |
@@ -137,9 +137,9 @@ static void | |||
137 | do_abort (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 137 | do_abort (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
138 | { | 138 | { |
139 | LOG (GNUNET_ERROR_TYPE_WARNING, "Aborting\n"); | 139 | LOG (GNUNET_ERROR_TYPE_WARNING, "Aborting\n"); |
140 | abort_task = GNUNET_SCHEDULER_NO_TASK; | 140 | abort_task = NULL; |
141 | result = GNUNET_SYSERR; | 141 | result = GNUNET_SYSERR; |
142 | if (GNUNET_SCHEDULER_NO_TASK != shutdown_task) | 142 | if (NULL != shutdown_task) |
143 | GNUNET_SCHEDULER_cancel (shutdown_task); | 143 | GNUNET_SCHEDULER_cancel (shutdown_task); |
144 | shutdown_task = GNUNET_SCHEDULER_add_now (&do_shutdown, NULL); | 144 | shutdown_task = GNUNET_SCHEDULER_add_now (&do_shutdown, NULL); |
145 | } | 145 | } |
@@ -185,7 +185,7 @@ controller_event_cb (void *cls, | |||
185 | { | 185 | { |
186 | printf ("\nAborting due to very high failure rate\n"); | 186 | printf ("\nAborting due to very high failure rate\n"); |
187 | print_overlay_links_summary (); | 187 | print_overlay_links_summary (); |
188 | if (GNUNET_SCHEDULER_NO_TASK != abort_task) | 188 | if (NULL != abort_task) |
189 | GNUNET_SCHEDULER_cancel (abort_task); | 189 | GNUNET_SCHEDULER_cancel (abort_task); |
190 | abort_task = GNUNET_SCHEDULER_add_now (&do_abort, NULL); | 190 | abort_task = GNUNET_SCHEDULER_add_now (&do_abort, NULL); |
191 | return; | 191 | return; |
@@ -233,7 +233,7 @@ test_run (void *cls, | |||
233 | if (noninteractive) | 233 | if (noninteractive) |
234 | { | 234 | { |
235 | GNUNET_SCHEDULER_cancel (abort_task); | 235 | GNUNET_SCHEDULER_cancel (abort_task); |
236 | abort_task = GNUNET_SCHEDULER_NO_TASK; | 236 | abort_task = NULL; |
237 | shutdown_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, | 237 | shutdown_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, |
238 | &do_shutdown, NULL); | 238 | &do_shutdown, NULL); |
239 | return; | 239 | return; |