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/transport/test_transport_api_limited_sockets.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/transport/test_transport_api_limited_sockets.c')
-rw-r--r-- | src/transport/test_transport_api_limited_sockets.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/transport/test_transport_api_limited_sockets.c b/src/transport/test_transport_api_limited_sockets.c index 617be38d4..cc1953f77 100644 --- a/src/transport/test_transport_api_limited_sockets.c +++ b/src/transport/test_transport_api_limited_sockets.c | |||
@@ -55,9 +55,9 @@ static char *test_name; | |||
55 | 55 | ||
56 | static int ok; | 56 | static int ok; |
57 | 57 | ||
58 | static GNUNET_SCHEDULER_TaskIdentifier die_task; | 58 | static struct GNUNET_SCHEDULER_Task * die_task; |
59 | 59 | ||
60 | static GNUNET_SCHEDULER_TaskIdentifier send_task; | 60 | static struct GNUNET_SCHEDULER_Task * send_task; |
61 | 61 | ||
62 | static struct PeerContext *p1; | 62 | static struct PeerContext *p1; |
63 | 63 | ||
@@ -85,10 +85,10 @@ end () | |||
85 | { | 85 | { |
86 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stopping peers\n"); | 86 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stopping peers\n"); |
87 | 87 | ||
88 | if (send_task != GNUNET_SCHEDULER_NO_TASK) | 88 | if (send_task != NULL) |
89 | GNUNET_SCHEDULER_cancel (send_task); | 89 | GNUNET_SCHEDULER_cancel (send_task); |
90 | 90 | ||
91 | if (die_task != GNUNET_SCHEDULER_NO_TASK) | 91 | if (die_task != NULL) |
92 | GNUNET_SCHEDULER_cancel (die_task); | 92 | GNUNET_SCHEDULER_cancel (die_task); |
93 | 93 | ||
94 | if (th != NULL) | 94 | if (th != NULL) |
@@ -104,11 +104,11 @@ end () | |||
104 | static void | 104 | static void |
105 | end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 105 | end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
106 | { | 106 | { |
107 | die_task = GNUNET_SCHEDULER_NO_TASK; | 107 | die_task = NULL; |
108 | 108 | ||
109 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Fail! Stopping peers\n"); | 109 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Fail! Stopping peers\n"); |
110 | 110 | ||
111 | if (send_task != GNUNET_SCHEDULER_NO_TASK) | 111 | if (send_task != NULL) |
112 | GNUNET_SCHEDULER_cancel (send_task); | 112 | GNUNET_SCHEDULER_cancel (send_task); |
113 | 113 | ||
114 | if (cc != NULL) | 114 | if (cc != NULL) |
@@ -197,7 +197,7 @@ notify_disconnect (void *cls, const struct GNUNET_PeerIdentity *peer) | |||
197 | static void | 197 | static void |
198 | sendtask (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 198 | sendtask (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
199 | { | 199 | { |
200 | send_task = GNUNET_SCHEDULER_NO_TASK; | 200 | send_task = NULL; |
201 | 201 | ||
202 | if ((tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN) != 0) | 202 | if ((tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN) != 0) |
203 | return; | 203 | return; |
@@ -259,7 +259,7 @@ run (void *cls, char *const *args, const char *cfgfile, | |||
259 | if ((p1 == NULL) || (p2 == NULL)) | 259 | if ((p1 == NULL) || (p2 == NULL)) |
260 | { | 260 | { |
261 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Fail! Could not start peers!\n"); | 261 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Fail! Could not start peers!\n"); |
262 | if (die_task != GNUNET_SCHEDULER_NO_TASK) | 262 | if (die_task != NULL) |
263 | GNUNET_SCHEDULER_cancel (die_task); | 263 | GNUNET_SCHEDULER_cancel (die_task); |
264 | die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL); | 264 | die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL); |
265 | return; | 265 | return; |
@@ -282,7 +282,7 @@ check () | |||
282 | #if WRITECONFIG | 282 | #if WRITECONFIG |
283 | setTransportOptions ("test_transport_api_data.conf"); | 283 | setTransportOptions ("test_transport_api_data.conf"); |
284 | #endif | 284 | #endif |
285 | send_task = GNUNET_SCHEDULER_NO_TASK; | 285 | send_task = NULL; |
286 | 286 | ||
287 | ok = 1; | 287 | ok = 1; |
288 | GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, test_name, | 288 | GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, test_name, |