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/arm | |
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/arm')
-rw-r--r-- | src/arm/arm_api.c | 24 | ||||
-rw-r--r-- | src/arm/arm_monitor_api.c | 34 | ||||
-rw-r--r-- | src/arm/gnunet-service-arm.c | 34 | ||||
-rw-r--r-- | src/arm/test_exponential_backoff.c | 2 |
4 files changed, 47 insertions, 47 deletions
diff --git a/src/arm/arm_api.c b/src/arm/arm_api.c index 1b83c3106..4b68f19de 100644 --- a/src/arm/arm_api.c +++ b/src/arm/arm_api.c | |||
@@ -91,7 +91,7 @@ struct GNUNET_ARM_Handle | |||
91 | /** | 91 | /** |
92 | * ID of the reconnect task (if any). | 92 | * ID of the reconnect task (if any). |
93 | */ | 93 | */ |
94 | GNUNET_SCHEDULER_TaskIdentifier reconnect_task; | 94 | struct GNUNET_SCHEDULER_Task * reconnect_task; |
95 | 95 | ||
96 | /** | 96 | /** |
97 | * Current delay we use for re-trying to connect to core. | 97 | * Current delay we use for re-trying to connect to core. |
@@ -166,7 +166,7 @@ struct ARMControlMessage | |||
166 | /** | 166 | /** |
167 | * Task to run when request times out. | 167 | * Task to run when request times out. |
168 | */ | 168 | */ |
169 | GNUNET_SCHEDULER_TaskIdentifier timeout_task_id; | 169 | struct GNUNET_SCHEDULER_Task * timeout_task_id; |
170 | 170 | ||
171 | /** | 171 | /** |
172 | * Flags for passing std descriptors to ARM (when starting ARM). | 172 | * Flags for passing std descriptors to ARM (when starting ARM). |
@@ -212,7 +212,7 @@ reconnect_arm_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
212 | { | 212 | { |
213 | struct GNUNET_ARM_Handle *h = cls; | 213 | struct GNUNET_ARM_Handle *h = cls; |
214 | 214 | ||
215 | h->reconnect_task = GNUNET_SCHEDULER_NO_TASK; | 215 | h->reconnect_task = NULL; |
216 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Connecting to ARM service after delay\n"); | 216 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Connecting to ARM service after delay\n"); |
217 | reconnect_arm (h); | 217 | reconnect_arm (h); |
218 | } | 218 | } |
@@ -240,7 +240,7 @@ reconnect_arm_later (struct GNUNET_ARM_Handle *h) | |||
240 | h->client = NULL; | 240 | h->client = NULL; |
241 | } | 241 | } |
242 | h->currently_down = GNUNET_YES; | 242 | h->currently_down = GNUNET_YES; |
243 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == h->reconnect_task); | 243 | GNUNET_assert (NULL == h->reconnect_task); |
244 | h->reconnect_task = | 244 | h->reconnect_task = |
245 | GNUNET_SCHEDULER_add_delayed (h->retry_backoff, &reconnect_arm_task, h); | 245 | GNUNET_SCHEDULER_add_delayed (h->retry_backoff, &reconnect_arm_task, h); |
246 | /* Don't clear pending messages on disconnection, deliver them later | 246 | /* Don't clear pending messages on disconnection, deliver them later |
@@ -408,7 +408,7 @@ client_notify_handler (void *cls, | |||
408 | fail = GNUNET_YES; | 408 | fail = GNUNET_YES; |
409 | break; | 409 | break; |
410 | } | 410 | } |
411 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK != cm->timeout_task_id); | 411 | GNUNET_assert (NULL != cm->timeout_task_id); |
412 | GNUNET_SCHEDULER_cancel (cm->timeout_task_id); | 412 | GNUNET_SCHEDULER_cancel (cm->timeout_task_id); |
413 | GNUNET_CONTAINER_DLL_remove (h->control_sent_head, | 413 | GNUNET_CONTAINER_DLL_remove (h->control_sent_head, |
414 | h->control_sent_tail, cm); | 414 | h->control_sent_tail, cm); |
@@ -493,7 +493,7 @@ transmit_arm_message (void *cls, size_t size, void *buf) | |||
493 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 493 | LOG (GNUNET_ERROR_TYPE_DEBUG, |
494 | "transmit_arm_message is running with %p buffer of size %lu. ARM is known to be %s\n", | 494 | "transmit_arm_message is running with %p buffer of size %lu. ARM is known to be %s\n", |
495 | buf, size, h->currently_down ? "unconnected" : "connected"); | 495 | buf, size, h->currently_down ? "unconnected" : "connected"); |
496 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == h->reconnect_task); | 496 | GNUNET_assert (NULL == h->reconnect_task); |
497 | h->cth = NULL; | 497 | h->cth = NULL; |
498 | if ((GNUNET_YES == h->currently_down) && (NULL != buf)) | 498 | if ((GNUNET_YES == h->currently_down) && (NULL != buf)) |
499 | { | 499 | { |
@@ -643,7 +643,7 @@ GNUNET_ARM_connect (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
643 | h = GNUNET_new (struct GNUNET_ARM_Handle); | 643 | h = GNUNET_new (struct GNUNET_ARM_Handle); |
644 | h->cfg = GNUNET_CONFIGURATION_dup (cfg); | 644 | h->cfg = GNUNET_CONFIGURATION_dup (cfg); |
645 | h->currently_down = GNUNET_YES; | 645 | h->currently_down = GNUNET_YES; |
646 | h->reconnect_task = GNUNET_SCHEDULER_NO_TASK; | 646 | h->reconnect_task = NULL; |
647 | h->conn_status = conn_status; | 647 | h->conn_status = conn_status; |
648 | h->conn_status_cls = cls; | 648 | h->conn_status_cls = cls; |
649 | if (GNUNET_OK != reconnect_arm (h)) | 649 | if (GNUNET_OK != reconnect_arm (h)) |
@@ -680,7 +680,7 @@ GNUNET_ARM_disconnect_and_free (struct GNUNET_ARM_Handle *h) | |||
680 | else | 680 | else |
681 | GNUNET_CONTAINER_DLL_remove (h->control_sent_head, | 681 | GNUNET_CONTAINER_DLL_remove (h->control_sent_head, |
682 | h->control_sent_tail, cm); | 682 | h->control_sent_tail, cm); |
683 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK != cm->timeout_task_id); | 683 | GNUNET_assert (NULL != cm->timeout_task_id); |
684 | GNUNET_SCHEDULER_cancel (cm->timeout_task_id); | 684 | GNUNET_SCHEDULER_cancel (cm->timeout_task_id); |
685 | if (NULL != cm->result_cont) | 685 | if (NULL != cm->result_cont) |
686 | cm->result_cont (cm->cont_cls, GNUNET_ARM_REQUEST_DISCONNECTED, | 686 | cm->result_cont (cm->cont_cls, GNUNET_ARM_REQUEST_DISCONNECTED, |
@@ -694,10 +694,10 @@ GNUNET_ARM_disconnect_and_free (struct GNUNET_ARM_Handle *h) | |||
694 | GNUNET_CLIENT_disconnect (h->client); | 694 | GNUNET_CLIENT_disconnect (h->client); |
695 | h->client = NULL; | 695 | h->client = NULL; |
696 | } | 696 | } |
697 | if (GNUNET_SCHEDULER_NO_TASK != h->reconnect_task) | 697 | if (NULL != h->reconnect_task) |
698 | { | 698 | { |
699 | GNUNET_SCHEDULER_cancel (h->reconnect_task); | 699 | GNUNET_SCHEDULER_cancel (h->reconnect_task); |
700 | h->reconnect_task = GNUNET_SCHEDULER_NO_TASK; | 700 | h->reconnect_task = NULL; |
701 | } | 701 | } |
702 | if (GNUNET_NO == h->service_test_is_active) | 702 | if (GNUNET_NO == h->service_test_is_active) |
703 | { | 703 | { |
@@ -984,10 +984,10 @@ GNUNET_ARM_request_service_start (struct GNUNET_ARM_Handle *h, | |||
984 | GNUNET_CLIENT_disconnect (h->client); | 984 | GNUNET_CLIENT_disconnect (h->client); |
985 | h->client = NULL; | 985 | h->client = NULL; |
986 | } | 986 | } |
987 | if (GNUNET_SCHEDULER_NO_TASK != h->reconnect_task) | 987 | if (NULL != h->reconnect_task) |
988 | { | 988 | { |
989 | GNUNET_SCHEDULER_cancel (h->reconnect_task); | 989 | GNUNET_SCHEDULER_cancel (h->reconnect_task); |
990 | h->reconnect_task = GNUNET_SCHEDULER_NO_TASK; | 990 | h->reconnect_task = NULL; |
991 | } | 991 | } |
992 | 992 | ||
993 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 993 | LOG (GNUNET_ERROR_TYPE_DEBUG, |
diff --git a/src/arm/arm_monitor_api.c b/src/arm/arm_monitor_api.c index 676543f26..c03f5df0f 100644 --- a/src/arm/arm_monitor_api.c +++ b/src/arm/arm_monitor_api.c | |||
@@ -57,7 +57,7 @@ struct GNUNET_ARM_MonitorHandle | |||
57 | /** | 57 | /** |
58 | * ID of the reconnect task (if any). | 58 | * ID of the reconnect task (if any). |
59 | */ | 59 | */ |
60 | GNUNET_SCHEDULER_TaskIdentifier reconnect_task; | 60 | struct GNUNET_SCHEDULER_Task * reconnect_task; |
61 | 61 | ||
62 | /** | 62 | /** |
63 | * Current delay we use for re-trying to connect to core. | 63 | * Current delay we use for re-trying to connect to core. |
@@ -82,7 +82,7 @@ struct GNUNET_ARM_MonitorHandle | |||
82 | /** | 82 | /** |
83 | * ID of a task to run if we fail to get a reply to the init message in time. | 83 | * ID of a task to run if we fail to get a reply to the init message in time. |
84 | */ | 84 | */ |
85 | GNUNET_SCHEDULER_TaskIdentifier init_timeout_task_id; | 85 | struct GNUNET_SCHEDULER_Task * init_timeout_task_id; |
86 | }; | 86 | }; |
87 | 87 | ||
88 | static void | 88 | static void |
@@ -102,7 +102,7 @@ reconnect_arm_monitor_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext | |||
102 | { | 102 | { |
103 | struct GNUNET_ARM_MonitorHandle *h = cls; | 103 | struct GNUNET_ARM_MonitorHandle *h = cls; |
104 | 104 | ||
105 | h->reconnect_task = GNUNET_SCHEDULER_NO_TASK; | 105 | h->reconnect_task = NULL; |
106 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Connecting to ARM service for monitoring after delay\n"); | 106 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Connecting to ARM service for monitoring after delay\n"); |
107 | reconnect_arm_monitor (h); | 107 | reconnect_arm_monitor (h); |
108 | } | 108 | } |
@@ -129,13 +129,13 @@ reconnect_arm_monitor_later (struct GNUNET_ARM_MonitorHandle *h) | |||
129 | h->monitor = NULL; | 129 | h->monitor = NULL; |
130 | } | 130 | } |
131 | 131 | ||
132 | if (GNUNET_SCHEDULER_NO_TASK != h->init_timeout_task_id) | 132 | if (NULL != h->init_timeout_task_id) |
133 | { | 133 | { |
134 | GNUNET_SCHEDULER_cancel (h->init_timeout_task_id); | 134 | GNUNET_SCHEDULER_cancel (h->init_timeout_task_id); |
135 | h->init_timeout_task_id = GNUNET_SCHEDULER_NO_TASK; | 135 | h->init_timeout_task_id = NULL; |
136 | } | 136 | } |
137 | 137 | ||
138 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == h->reconnect_task); | 138 | GNUNET_assert (NULL == h->reconnect_task); |
139 | h->reconnect_task = | 139 | h->reconnect_task = |
140 | GNUNET_SCHEDULER_add_delayed (h->retry_backoff, &reconnect_arm_monitor_task, h); | 140 | GNUNET_SCHEDULER_add_delayed (h->retry_backoff, &reconnect_arm_monitor_task, h); |
141 | 141 | ||
@@ -156,7 +156,7 @@ init_timeout_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
156 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 156 | LOG (GNUNET_ERROR_TYPE_DEBUG, |
157 | "Init message timed out\n"); | 157 | "Init message timed out\n"); |
158 | 158 | ||
159 | h->init_timeout_task_id = GNUNET_SCHEDULER_NO_TASK; | 159 | h->init_timeout_task_id = NULL; |
160 | reconnect_arm_monitor_later (h); | 160 | reconnect_arm_monitor_later (h); |
161 | } | 161 | } |
162 | 162 | ||
@@ -176,8 +176,8 @@ transmit_monitoring_init_message (void *cls, size_t size, void *buf) | |||
176 | struct GNUNET_MessageHeader *msg; | 176 | struct GNUNET_MessageHeader *msg; |
177 | uint16_t msize; | 177 | uint16_t msize; |
178 | 178 | ||
179 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == h->reconnect_task); | 179 | GNUNET_assert (NULL == h->reconnect_task); |
180 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == h->init_timeout_task_id); | 180 | GNUNET_assert (NULL == h->init_timeout_task_id); |
181 | h->cth = NULL; | 181 | h->cth = NULL; |
182 | if (NULL == buf) | 182 | if (NULL == buf) |
183 | { | 183 | { |
@@ -254,8 +254,8 @@ GNUNET_ARM_monitor (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
254 | h = GNUNET_new (struct GNUNET_ARM_MonitorHandle); | 254 | h = GNUNET_new (struct GNUNET_ARM_MonitorHandle); |
255 | h->cfg = GNUNET_CONFIGURATION_dup (cfg); | 255 | h->cfg = GNUNET_CONFIGURATION_dup (cfg); |
256 | h->currently_down = GNUNET_YES; | 256 | h->currently_down = GNUNET_YES; |
257 | h->reconnect_task = GNUNET_SCHEDULER_NO_TASK; | 257 | h->reconnect_task = NULL; |
258 | h->init_timeout_task_id = GNUNET_SCHEDULER_NO_TASK; | 258 | h->init_timeout_task_id = NULL; |
259 | h->service_status = cont; | 259 | h->service_status = cont; |
260 | h->cls = cont_cls; | 260 | h->cls = cont_cls; |
261 | if (GNUNET_OK != reconnect_arm_monitor (h)) | 261 | if (GNUNET_OK != reconnect_arm_monitor (h)) |
@@ -281,20 +281,20 @@ GNUNET_ARM_monitor_disconnect_and_free (struct GNUNET_ARM_MonitorHandle *h) | |||
281 | GNUNET_CLIENT_notify_transmit_ready_cancel (h->cth); | 281 | GNUNET_CLIENT_notify_transmit_ready_cancel (h->cth); |
282 | h->cth = NULL; | 282 | h->cth = NULL; |
283 | } | 283 | } |
284 | if (GNUNET_SCHEDULER_NO_TASK != h->init_timeout_task_id) | 284 | if (NULL != h->init_timeout_task_id) |
285 | { | 285 | { |
286 | GNUNET_SCHEDULER_cancel (h->init_timeout_task_id); | 286 | GNUNET_SCHEDULER_cancel (h->init_timeout_task_id); |
287 | h->init_timeout_task_id = GNUNET_SCHEDULER_NO_TASK; | 287 | h->init_timeout_task_id = NULL; |
288 | } | 288 | } |
289 | if (NULL != h->monitor) | 289 | if (NULL != h->monitor) |
290 | { | 290 | { |
291 | GNUNET_CLIENT_disconnect (h->monitor); | 291 | GNUNET_CLIENT_disconnect (h->monitor); |
292 | h->monitor = NULL; | 292 | h->monitor = NULL; |
293 | } | 293 | } |
294 | if (GNUNET_SCHEDULER_NO_TASK != h->reconnect_task) | 294 | if (NULL != h->reconnect_task) |
295 | { | 295 | { |
296 | GNUNET_SCHEDULER_cancel (h->reconnect_task); | 296 | GNUNET_SCHEDULER_cancel (h->reconnect_task); |
297 | h->reconnect_task = GNUNET_SCHEDULER_NO_TASK; | 297 | h->reconnect_task = NULL; |
298 | } | 298 | } |
299 | GNUNET_CONFIGURATION_destroy (h->cfg); | 299 | GNUNET_CONFIGURATION_destroy (h->cfg); |
300 | GNUNET_free (h); | 300 | GNUNET_free (h); |
@@ -335,10 +335,10 @@ monitor_notify_handler (void *cls, const struct GNUNET_MessageHeader *msg) | |||
335 | reconnect_arm_monitor_later (h); | 335 | reconnect_arm_monitor_later (h); |
336 | return; | 336 | return; |
337 | } | 337 | } |
338 | if (GNUNET_SCHEDULER_NO_TASK != h->init_timeout_task_id) | 338 | if (NULL != h->init_timeout_task_id) |
339 | { | 339 | { |
340 | GNUNET_SCHEDULER_cancel (h->init_timeout_task_id); | 340 | GNUNET_SCHEDULER_cancel (h->init_timeout_task_id); |
341 | h->init_timeout_task_id = GNUNET_SCHEDULER_NO_TASK; | 341 | h->init_timeout_task_id = NULL; |
342 | } | 342 | } |
343 | res = (const struct GNUNET_ARM_StatusMessage *) msg; | 343 | res = (const struct GNUNET_ARM_StatusMessage *) msg; |
344 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 344 | LOG (GNUNET_ERROR_TYPE_DEBUG, |
diff --git a/src/arm/gnunet-service-arm.c b/src/arm/gnunet-service-arm.c index c6259c273..630816d1d 100644 --- a/src/arm/gnunet-service-arm.c +++ b/src/arm/gnunet-service-arm.c | |||
@@ -81,7 +81,7 @@ struct ServiceListeningInfo | |||
81 | /** | 81 | /** |
82 | * Task doing the accepting. | 82 | * Task doing the accepting. |
83 | */ | 83 | */ |
84 | GNUNET_SCHEDULER_TaskIdentifier accept_task; | 84 | struct GNUNET_SCHEDULER_Task * accept_task; |
85 | 85 | ||
86 | }; | 86 | }; |
87 | 87 | ||
@@ -200,13 +200,13 @@ static char *final_option; | |||
200 | /** | 200 | /** |
201 | * ID of task called whenever we get a SIGCHILD. | 201 | * ID of task called whenever we get a SIGCHILD. |
202 | */ | 202 | */ |
203 | static GNUNET_SCHEDULER_TaskIdentifier child_death_task; | 203 | static struct GNUNET_SCHEDULER_Task * child_death_task; |
204 | 204 | ||
205 | /** | 205 | /** |
206 | * ID of task called whenever the timeout for restarting a child | 206 | * ID of task called whenever the timeout for restarting a child |
207 | * expires. | 207 | * expires. |
208 | */ | 208 | */ |
209 | static GNUNET_SCHEDULER_TaskIdentifier child_restart_task; | 209 | static struct GNUNET_SCHEDULER_Task * child_restart_task; |
210 | 210 | ||
211 | /** | 211 | /** |
212 | * Pipe used to communicate shutdown via signal. | 212 | * Pipe used to communicate shutdown via signal. |
@@ -421,10 +421,10 @@ start_process (struct ServiceList *sl, | |||
421 | { | 421 | { |
422 | GNUNET_array_append (lsocks, ls, | 422 | GNUNET_array_append (lsocks, ls, |
423 | GNUNET_NETWORK_get_fd (sli->listen_socket)); | 423 | GNUNET_NETWORK_get_fd (sli->listen_socket)); |
424 | if (sli->accept_task != GNUNET_SCHEDULER_NO_TASK) | 424 | if (sli->accept_task != NULL) |
425 | { | 425 | { |
426 | GNUNET_SCHEDULER_cancel (sli->accept_task); | 426 | GNUNET_SCHEDULER_cancel (sli->accept_task); |
427 | sli->accept_task = GNUNET_SCHEDULER_NO_TASK; | 427 | sli->accept_task = NULL; |
428 | } | 428 | } |
429 | } | 429 | } |
430 | #if WINDOWS | 430 | #if WINDOWS |
@@ -586,7 +586,7 @@ accept_connection (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
586 | struct ServiceListeningInfo *sli = cls; | 586 | struct ServiceListeningInfo *sli = cls; |
587 | struct ServiceList *sl = sli->sl; | 587 | struct ServiceList *sl = sli->sl; |
588 | 588 | ||
589 | sli->accept_task = GNUNET_SCHEDULER_NO_TASK; | 589 | sli->accept_task = NULL; |
590 | GNUNET_assert (GNUNET_NO == in_shutdown); | 590 | GNUNET_assert (GNUNET_NO == in_shutdown); |
591 | if (0 != (GNUNET_SCHEDULER_REASON_SHUTDOWN & tc->reason)) | 591 | if (0 != (GNUNET_SCHEDULER_REASON_SHUTDOWN & tc->reason)) |
592 | return; | 592 | return; |
@@ -971,10 +971,10 @@ do_shutdown () | |||
971 | GNUNET_SERVER_destroy (server); | 971 | GNUNET_SERVER_destroy (server); |
972 | server = NULL; | 972 | server = NULL; |
973 | } | 973 | } |
974 | if (GNUNET_SCHEDULER_NO_TASK != child_death_task) | 974 | if (NULL != child_death_task) |
975 | { | 975 | { |
976 | GNUNET_SCHEDULER_cancel (child_death_task); | 976 | GNUNET_SCHEDULER_cancel (child_death_task); |
977 | child_death_task = GNUNET_SCHEDULER_NO_TASK; | 977 | child_death_task = NULL; |
978 | } | 978 | } |
979 | } | 979 | } |
980 | 980 | ||
@@ -1015,10 +1015,10 @@ shutdown_task (void *cls, | |||
1015 | 1015 | ||
1016 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1016 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1017 | "First shutdown phase\n"); | 1017 | "First shutdown phase\n"); |
1018 | if (GNUNET_SCHEDULER_NO_TASK != child_restart_task) | 1018 | if (NULL != child_restart_task) |
1019 | { | 1019 | { |
1020 | GNUNET_SCHEDULER_cancel (child_restart_task); | 1020 | GNUNET_SCHEDULER_cancel (child_restart_task); |
1021 | child_restart_task = GNUNET_SCHEDULER_NO_TASK; | 1021 | child_restart_task = NULL; |
1022 | } | 1022 | } |
1023 | in_shutdown = GNUNET_YES; | 1023 | in_shutdown = GNUNET_YES; |
1024 | /* first, stop listening */ | 1024 | /* first, stop listening */ |
@@ -1028,10 +1028,10 @@ shutdown_task (void *cls, | |||
1028 | { | 1028 | { |
1029 | GNUNET_CONTAINER_DLL_remove (pos->listen_head, | 1029 | GNUNET_CONTAINER_DLL_remove (pos->listen_head, |
1030 | pos->listen_tail, sli); | 1030 | pos->listen_tail, sli); |
1031 | if (sli->accept_task != GNUNET_SCHEDULER_NO_TASK) | 1031 | if (sli->accept_task != NULL) |
1032 | { | 1032 | { |
1033 | GNUNET_SCHEDULER_cancel (sli->accept_task); | 1033 | GNUNET_SCHEDULER_cancel (sli->accept_task); |
1034 | sli->accept_task = GNUNET_SCHEDULER_NO_TASK; | 1034 | sli->accept_task = NULL; |
1035 | } | 1035 | } |
1036 | GNUNET_break (GNUNET_OK == | 1036 | GNUNET_break (GNUNET_OK == |
1037 | GNUNET_NETWORK_socket_close (sli->listen_socket)); | 1037 | GNUNET_NETWORK_socket_close (sli->listen_socket)); |
@@ -1082,7 +1082,7 @@ delayed_restart_task (void *cls, | |||
1082 | struct GNUNET_TIME_Relative lowestRestartDelay; | 1082 | struct GNUNET_TIME_Relative lowestRestartDelay; |
1083 | struct ServiceListeningInfo *sli; | 1083 | struct ServiceListeningInfo *sli; |
1084 | 1084 | ||
1085 | child_restart_task = GNUNET_SCHEDULER_NO_TASK; | 1085 | child_restart_task = NULL; |
1086 | if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) | 1086 | if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) |
1087 | return; | 1087 | return; |
1088 | GNUNET_assert (GNUNET_NO == in_shutdown); | 1088 | GNUNET_assert (GNUNET_NO == in_shutdown); |
@@ -1110,7 +1110,7 @@ delayed_restart_task (void *cls, | |||
1110 | { | 1110 | { |
1111 | /* process is run on-demand, ensure it is re-started if there is demand */ | 1111 | /* process is run on-demand, ensure it is re-started if there is demand */ |
1112 | for (sli = sl->listen_head; NULL != sli; sli = sli->next) | 1112 | for (sli = sl->listen_head; NULL != sli; sli = sli->next) |
1113 | if (GNUNET_SCHEDULER_NO_TASK == sli->accept_task) | 1113 | if (NULL == sli->accept_task) |
1114 | { | 1114 | { |
1115 | /* accept was actually paused, so start it again */ | 1115 | /* accept was actually paused, so start it again */ |
1116 | sli->accept_task = | 1116 | sli->accept_task = |
@@ -1164,7 +1164,7 @@ maint_child_death (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
1164 | const struct GNUNET_DISK_FileHandle *pr; | 1164 | const struct GNUNET_DISK_FileHandle *pr; |
1165 | 1165 | ||
1166 | pr = GNUNET_DISK_pipe_handle (sigpipe, GNUNET_DISK_PIPE_END_READ); | 1166 | pr = GNUNET_DISK_pipe_handle (sigpipe, GNUNET_DISK_PIPE_END_READ); |
1167 | child_death_task = GNUNET_SCHEDULER_NO_TASK; | 1167 | child_death_task = NULL; |
1168 | if (0 == (tc->reason & GNUNET_SCHEDULER_REASON_READ_READY)) | 1168 | if (0 == (tc->reason & GNUNET_SCHEDULER_REASON_READ_READY)) |
1169 | { | 1169 | { |
1170 | /* shutdown scheduled us, ignore! */ | 1170 | /* shutdown scheduled us, ignore! */ |
@@ -1239,7 +1239,7 @@ maint_child_death (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
1239 | /* process can still be re-started on-demand, ensure it is re-started if there is demand */ | 1239 | /* process can still be re-started on-demand, ensure it is re-started if there is demand */ |
1240 | for (sli = pos->listen_head; NULL != sli; sli = sli->next) | 1240 | for (sli = pos->listen_head; NULL != sli; sli = sli->next) |
1241 | { | 1241 | { |
1242 | GNUNET_break (GNUNET_SCHEDULER_NO_TASK == sli->accept_task); | 1242 | GNUNET_break (NULL == sli->accept_task); |
1243 | sli->accept_task = | 1243 | sli->accept_task = |
1244 | GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_UNIT_FOREVER_REL, | 1244 | GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_UNIT_FOREVER_REL, |
1245 | sli->listen_socket, &accept_connection, sli); | 1245 | sli->listen_socket, &accept_connection, sli); |
@@ -1255,7 +1255,7 @@ maint_child_death (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
1255 | /* schedule restart */ | 1255 | /* schedule restart */ |
1256 | pos->restart_at = GNUNET_TIME_relative_to_absolute (pos->backoff); | 1256 | pos->restart_at = GNUNET_TIME_relative_to_absolute (pos->backoff); |
1257 | pos->backoff = GNUNET_TIME_STD_BACKOFF (pos->backoff); | 1257 | pos->backoff = GNUNET_TIME_STD_BACKOFF (pos->backoff); |
1258 | if (GNUNET_SCHEDULER_NO_TASK != child_restart_task) | 1258 | if (NULL != child_restart_task) |
1259 | GNUNET_SCHEDULER_cancel (child_restart_task); | 1259 | GNUNET_SCHEDULER_cancel (child_restart_task); |
1260 | child_restart_task = GNUNET_SCHEDULER_add_with_priority ( | 1260 | child_restart_task = GNUNET_SCHEDULER_add_with_priority ( |
1261 | GNUNET_SCHEDULER_PRIORITY_IDLE, &delayed_restart_task, NULL); | 1261 | GNUNET_SCHEDULER_PRIORITY_IDLE, &delayed_restart_task, NULL); |
diff --git a/src/arm/test_exponential_backoff.c b/src/arm/test_exponential_backoff.c index 7a552cc7c..17aa8a04c 100644 --- a/src/arm/test_exponential_backoff.c +++ b/src/arm/test_exponential_backoff.c | |||
@@ -90,7 +90,7 @@ struct ShutdownContext | |||
90 | /** | 90 | /** |
91 | * Task set up to cancel the shutdown request on timeout. | 91 | * Task set up to cancel the shutdown request on timeout. |
92 | */ | 92 | */ |
93 | GNUNET_SCHEDULER_TaskIdentifier cancel_task; | 93 | struct GNUNET_SCHEDULER_Task * cancel_task; |
94 | 94 | ||
95 | /** | 95 | /** |
96 | * Task to call once shutdown complete | 96 | * Task to call once shutdown complete |