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/test_testbed_api.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/test_testbed_api.c')
-rw-r--r-- | src/testbed/test_testbed_api.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/testbed/test_testbed_api.c b/src/testbed/test_testbed_api.c index 47caa06f3..980b3725f 100644 --- a/src/testbed/test_testbed_api.c +++ b/src/testbed/test_testbed_api.c | |||
@@ -90,7 +90,7 @@ static struct GNUNET_ARM_Handle *arm_handle; | |||
90 | /** | 90 | /** |
91 | * Abort task identifier | 91 | * Abort task identifier |
92 | */ | 92 | */ |
93 | static GNUNET_SCHEDULER_TaskIdentifier abort_task; | 93 | static struct GNUNET_SCHEDULER_Task * abort_task; |
94 | 94 | ||
95 | /** | 95 | /** |
96 | * The testing result | 96 | * The testing result |
@@ -139,7 +139,7 @@ static void | |||
139 | do_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 139 | do_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
140 | { | 140 | { |
141 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Shutting down...\n"); | 141 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Shutting down...\n"); |
142 | if (GNUNET_SCHEDULER_NO_TASK != abort_task) | 142 | if (NULL != abort_task) |
143 | GNUNET_SCHEDULER_cancel (abort_task); | 143 | GNUNET_SCHEDULER_cancel (abort_task); |
144 | if (NULL != reg_handle) | 144 | if (NULL != reg_handle) |
145 | GNUNET_TESTBED_cancel_registration (reg_handle); | 145 | GNUNET_TESTBED_cancel_registration (reg_handle); |
@@ -162,9 +162,9 @@ do_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
162 | #define FAIL_TEST(cond, ret) do { \ | 162 | #define FAIL_TEST(cond, ret) do { \ |
163 | if (!(cond)) { \ | 163 | if (!(cond)) { \ |
164 | GNUNET_break(0); \ | 164 | GNUNET_break(0); \ |
165 | if (GNUNET_SCHEDULER_NO_TASK != abort_task) \ | 165 | if (NULL != abort_task) \ |
166 | GNUNET_SCHEDULER_cancel (abort_task); \ | 166 | GNUNET_SCHEDULER_cancel (abort_task); \ |
167 | abort_task = GNUNET_SCHEDULER_NO_TASK; \ | 167 | abort_task = NULL; \ |
168 | GNUNET_SCHEDULER_add_now (do_shutdown, NULL); \ | 168 | GNUNET_SCHEDULER_add_now (do_shutdown, NULL); \ |
169 | ret; \ | 169 | ret; \ |
170 | } \ | 170 | } \ |
@@ -181,7 +181,7 @@ static void | |||
181 | do_abort (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 181 | do_abort (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
182 | { | 182 | { |
183 | LOG (GNUNET_ERROR_TYPE_WARNING, "Test timedout -- Aborting\n"); | 183 | LOG (GNUNET_ERROR_TYPE_WARNING, "Test timedout -- Aborting\n"); |
184 | abort_task = GNUNET_SCHEDULER_NO_TASK; | 184 | abort_task = NULL; |
185 | do_shutdown (cls, tc); | 185 | do_shutdown (cls, tc); |
186 | } | 186 | } |
187 | 187 | ||