aboutsummaryrefslogtreecommitdiff
path: root/src/arm
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/arm
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/arm')
-rw-r--r--src/arm/arm_api.c24
-rw-r--r--src/arm/arm_monitor_api.c34
-rw-r--r--src/arm/gnunet-service-arm.c34
-rw-r--r--src/arm/test_exponential_backoff.c2
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
88static void 88static 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 */
203static GNUNET_SCHEDULER_TaskIdentifier child_death_task; 203static 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 */
209static GNUNET_SCHEDULER_TaskIdentifier child_restart_task; 209static 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