aboutsummaryrefslogtreecommitdiff
path: root/src/transport/test_transport_api_manipulation_recv_tcp.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2014-12-24 01:10:47 +0000
committerChristian Grothoff <christian@grothoff.org>2014-12-24 01:10:47 +0000
commitf1f603c7d0b3f03dca46a4f313472288eb080eb1 (patch)
tree3a29966b02dfb83e0a8a8d5c42b3116380209fb0 /src/transport/test_transport_api_manipulation_recv_tcp.c
parent53cd5b8eda2fa8db86b0907a62a39598981d008a (diff)
downloadgnunet-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_manipulation_recv_tcp.c')
-rw-r--r--src/transport/test_transport_api_manipulation_recv_tcp.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/transport/test_transport_api_manipulation_recv_tcp.c b/src/transport/test_transport_api_manipulation_recv_tcp.c
index 6b86e9ff1..76bd360ab 100644
--- a/src/transport/test_transport_api_manipulation_recv_tcp.c
+++ b/src/transport/test_transport_api_manipulation_recv_tcp.c
@@ -59,9 +59,9 @@ static int s_connected;
59 59
60static int s_sending; 60static int s_sending;
61 61
62static GNUNET_SCHEDULER_TaskIdentifier die_task; 62static struct GNUNET_SCHEDULER_Task * die_task;
63 63
64static GNUNET_SCHEDULER_TaskIdentifier send_task; 64static struct GNUNET_SCHEDULER_Task * send_task;
65 65
66static struct PeerContext *p1; 66static struct PeerContext *p1;
67 67
@@ -90,10 +90,10 @@ end ()
90{ 90{
91 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stopping peers\n"); 91 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stopping peers\n");
92 92
93 if (send_task != GNUNET_SCHEDULER_NO_TASK) 93 if (send_task != NULL)
94 GNUNET_SCHEDULER_cancel (send_task); 94 GNUNET_SCHEDULER_cancel (send_task);
95 95
96 if (die_task != GNUNET_SCHEDULER_NO_TASK) 96 if (die_task != NULL)
97 GNUNET_SCHEDULER_cancel (die_task); 97 GNUNET_SCHEDULER_cancel (die_task);
98 98
99 if (th != NULL) 99 if (th != NULL)
@@ -107,12 +107,12 @@ end ()
107static void 107static void
108end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) 108end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
109{ 109{
110 die_task = GNUNET_SCHEDULER_NO_TASK; 110 die_task = NULL;
111 111
112 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Fail! Stopping peers\n"); 112 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Fail! Stopping peers\n");
113 113
114 114
115 if (send_task != GNUNET_SCHEDULER_NO_TASK) 115 if (send_task != NULL)
116 GNUNET_SCHEDULER_cancel (send_task); 116 GNUNET_SCHEDULER_cancel (send_task);
117 117
118 if (cc != NULL) 118 if (cc != NULL)
@@ -252,7 +252,7 @@ notify_ready (void *cls, size_t size, void *buf)
252 { 252 {
253 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 253 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
254 "Timeout occurred while waiting for transmit_ready\n"); 254 "Timeout occurred while waiting for transmit_ready\n");
255 if (GNUNET_SCHEDULER_NO_TASK != die_task) 255 if (NULL != die_task)
256 GNUNET_SCHEDULER_cancel (die_task); 256 GNUNET_SCHEDULER_cancel (die_task);
257 die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL); 257 die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL);
258 ok = 42; 258 ok = 42;
@@ -282,7 +282,7 @@ notify_ready (void *cls, size_t size, void *buf)
282static void 282static void
283sendtask (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) 283sendtask (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
284{ 284{
285 send_task = GNUNET_SCHEDULER_NO_TASK; 285 send_task = NULL;
286 286
287 if ((tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN) != 0) 287 if ((tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN) != 0)
288 return; 288 return;
@@ -416,7 +416,7 @@ run (void *cls, char *const *args, const char *cfgfile,
416 if ((p1 == NULL) || (p2 == NULL)) 416 if ((p1 == NULL) || (p2 == NULL))
417 { 417 {
418 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Fail! Could not start peers!\n"); 418 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Fail! Could not start peers!\n");
419 if (die_task != GNUNET_SCHEDULER_NO_TASK) 419 if (die_task != NULL)
420 GNUNET_SCHEDULER_cancel (die_task); 420 GNUNET_SCHEDULER_cancel (die_task);
421 die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL); 421 die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL);
422 return; 422 return;
@@ -436,7 +436,7 @@ check ()
436 GNUNET_GETOPT_OPTION_END 436 GNUNET_GETOPT_OPTION_END
437 }; 437 };
438 438
439 send_task = GNUNET_SCHEDULER_NO_TASK; 439 send_task = NULL;
440 440
441 ok = 1; 441 ok = 1;
442 GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, test_name, 442 GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, test_name,