aboutsummaryrefslogtreecommitdiff
path: root/src/transport/test_transport_api_monitor_validation.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_monitor_validation.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_monitor_validation.c')
-rw-r--r--src/transport/test_transport_api_monitor_validation.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/transport/test_transport_api_monitor_validation.c b/src/transport/test_transport_api_monitor_validation.c
index 11839b20c..261f1a7d0 100644
--- a/src/transport/test_transport_api_monitor_validation.c
+++ b/src/transport/test_transport_api_monitor_validation.c
@@ -56,9 +56,9 @@ static int s_connected;
56 56
57static int s_sending; 57static int s_sending;
58 58
59static GNUNET_SCHEDULER_TaskIdentifier die_task; 59static struct GNUNET_SCHEDULER_Task * die_task;
60 60
61static GNUNET_SCHEDULER_TaskIdentifier send_task; 61static struct GNUNET_SCHEDULER_Task * send_task;
62 62
63static struct PeerContext *p1; 63static struct PeerContext *p1;
64 64
@@ -92,10 +92,10 @@ end ()
92 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Stopping peers\n"); 92 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Stopping peers\n");
93 93
94 94
95 if (send_task != GNUNET_SCHEDULER_NO_TASK) 95 if (send_task != NULL)
96 GNUNET_SCHEDULER_cancel (send_task); 96 GNUNET_SCHEDULER_cancel (send_task);
97 97
98 if (die_task != GNUNET_SCHEDULER_NO_TASK) 98 if (die_task != NULL)
99 GNUNET_SCHEDULER_cancel (die_task); 99 GNUNET_SCHEDULER_cancel (die_task);
100 100
101 if (th != NULL) 101 if (th != NULL)
@@ -124,12 +124,12 @@ end ()
124static void 124static void
125end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) 125end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
126{ 126{
127 die_task = GNUNET_SCHEDULER_NO_TASK; 127 die_task = NULL;
128 128
129 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Fail! Stopping peers\n"); 129 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Fail! Stopping peers\n");
130 130
131 131
132 if (send_task != GNUNET_SCHEDULER_NO_TASK) 132 if (send_task != NULL)
133 GNUNET_SCHEDULER_cancel (send_task); 133 GNUNET_SCHEDULER_cancel (send_task);
134 134
135 if (cc != NULL) 135 if (cc != NULL)
@@ -219,7 +219,7 @@ notify_receive (void *cls, const struct GNUNET_PeerIdentity *peer,
219 219
220 if ((0 >= p1_c) || (0 >= p2_c)) 220 if ((0 >= p1_c) || (0 >= p2_c))
221 { 221 {
222 if (GNUNET_SCHEDULER_NO_TASK != die_task) 222 if (NULL != die_task)
223 GNUNET_SCHEDULER_cancel (die_task); 223 GNUNET_SCHEDULER_cancel (die_task);
224 die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL); 224 die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL);
225 } 225 }
@@ -240,7 +240,7 @@ notify_ready (void *cls, size_t size, void *buf)
240 { 240 {
241 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 241 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
242 "Timeout occurred while waiting for transmit_ready\n"); 242 "Timeout occurred while waiting for transmit_ready\n");
243 if (GNUNET_SCHEDULER_NO_TASK != die_task) 243 if (NULL != die_task)
244 GNUNET_SCHEDULER_cancel (die_task); 244 GNUNET_SCHEDULER_cancel (die_task);
245 die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL); 245 die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL);
246 ok = 42; 246 ok = 42;
@@ -270,7 +270,7 @@ notify_ready (void *cls, size_t size, void *buf)
270static void 270static void
271sendtask (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) 271sendtask (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
272{ 272{
273 send_task = GNUNET_SCHEDULER_NO_TASK; 273 send_task = NULL;
274 274
275 if ((tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN) != 0) 275 if ((tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN) != 0)
276 return; 276 return;
@@ -454,7 +454,7 @@ run (void *cls, char *const *args, const char *cfgfile,
454 if ((p1 == NULL) || (p2 == NULL)) 454 if ((p1 == NULL) || (p2 == NULL))
455 { 455 {
456 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Fail! Could not start peers!\n"); 456 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Fail! Could not start peers!\n");
457 if (die_task != GNUNET_SCHEDULER_NO_TASK) 457 if (die_task != NULL)
458 GNUNET_SCHEDULER_cancel (die_task); 458 GNUNET_SCHEDULER_cancel (die_task);
459 die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL); 459 die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL);
460 return; 460 return;
@@ -474,7 +474,7 @@ check ()
474 GNUNET_GETOPT_OPTION_END 474 GNUNET_GETOPT_OPTION_END
475 }; 475 };
476 476
477 send_task = GNUNET_SCHEDULER_NO_TASK; 477 send_task = NULL;
478 478
479 ok = 1; 479 ok = 1;
480 GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, test_name, 480 GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, test_name,