aboutsummaryrefslogtreecommitdiff
path: root/src/core
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/core
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/core')
-rw-r--r--src/core/core_api.c54
-rw-r--r--src/core/gnunet-service-core_kx.c44
-rw-r--r--src/core/gnunet-service-core_neighbours.c6
-rw-r--r--src/core/gnunet-service-core_sessions.c22
-rw-r--r--src/core/test_core_api.c18
-rw-r--r--src/core/test_core_api_reliability.c8
-rw-r--r--src/core/test_core_api_send_to_self.c6
-rw-r--r--src/core/test_core_api_start_only.c2
-rw-r--r--src/core/test_core_quota_compliance.c28
9 files changed, 94 insertions, 94 deletions
diff --git a/src/core/core_api.c b/src/core/core_api.c
index d2a8b5651..1d287bbc6 100644
--- a/src/core/core_api.c
+++ b/src/core/core_api.c
@@ -130,12 +130,12 @@ struct PeerRecord
130 * ID of timeout task for the 'pending_head' handle 130 * ID of timeout task for the 'pending_head' handle
131 * which is the one with the smallest timeout. 131 * which is the one with the smallest timeout.
132 */ 132 */
133 GNUNET_SCHEDULER_TaskIdentifier timeout_task; 133 struct GNUNET_SCHEDULER_Task * timeout_task;
134 134
135 /** 135 /**
136 * ID of task to run 'next_request_transmission'. 136 * ID of task to run 'next_request_transmission'.
137 */ 137 */
138 GNUNET_SCHEDULER_TaskIdentifier ntr_task; 138 struct GNUNET_SCHEDULER_Task * ntr_task;
139 139
140 /** 140 /**
141 * SendMessageRequest ID generator for this peer. 141 * SendMessageRequest ID generator for this peer.
@@ -289,7 +289,7 @@ struct GNUNET_CORE_Handle
289 /** 289 /**
290 * ID of reconnect task (if any). 290 * ID of reconnect task (if any).
291 */ 291 */
292 GNUNET_SCHEDULER_TaskIdentifier reconnect_task; 292 struct GNUNET_SCHEDULER_Task * reconnect_task;
293 293
294 /** 294 /**
295 * Current delay we use for re-trying to connect to core. 295 * Current delay we use for re-trying to connect to core.
@@ -344,7 +344,7 @@ reconnect_task (void *cls,
344{ 344{
345 struct GNUNET_CORE_Handle *h = cls; 345 struct GNUNET_CORE_Handle *h = cls;
346 346
347 h->reconnect_task = GNUNET_SCHEDULER_NO_TASK; 347 h->reconnect_task = NULL;
348 LOG (GNUNET_ERROR_TYPE_DEBUG, 348 LOG (GNUNET_ERROR_TYPE_DEBUG,
349 "Connecting to CORE service after delay\n"); 349 "Connecting to CORE service after delay\n");
350 reconnect (h); 350 reconnect (h);
@@ -369,15 +369,15 @@ disconnect_and_free_peer_entry (void *cls,
369 struct GNUNET_CORE_TransmitHandle *th; 369 struct GNUNET_CORE_TransmitHandle *th;
370 struct PeerRecord *pr = value; 370 struct PeerRecord *pr = value;
371 371
372 if (GNUNET_SCHEDULER_NO_TASK != pr->timeout_task) 372 if (NULL != pr->timeout_task)
373 { 373 {
374 GNUNET_SCHEDULER_cancel (pr->timeout_task); 374 GNUNET_SCHEDULER_cancel (pr->timeout_task);
375 pr->timeout_task = GNUNET_SCHEDULER_NO_TASK; 375 pr->timeout_task = NULL;
376 } 376 }
377 if (GNUNET_SCHEDULER_NO_TASK != pr->ntr_task) 377 if (NULL != pr->ntr_task)
378 { 378 {
379 GNUNET_SCHEDULER_cancel (pr->ntr_task); 379 GNUNET_SCHEDULER_cancel (pr->ntr_task);
380 pr->ntr_task = GNUNET_SCHEDULER_NO_TASK; 380 pr->ntr_task = NULL;
381 } 381 }
382 if ( (NULL != pr->prev) || 382 if ( (NULL != pr->prev) ||
383 (NULL != pr->next) || 383 (NULL != pr->next) ||
@@ -401,8 +401,8 @@ disconnect_and_free_peer_entry (void *cls,
401 GNUNET_assert (GNUNET_YES == 401 GNUNET_assert (GNUNET_YES ==
402 GNUNET_CONTAINER_multipeermap_remove (h->peers, key, pr)); 402 GNUNET_CONTAINER_multipeermap_remove (h->peers, key, pr));
403 GNUNET_assert (pr->ch == h); 403 GNUNET_assert (pr->ch == h);
404 GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == pr->timeout_task); 404 GNUNET_assert (NULL == pr->timeout_task);
405 GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == pr->ntr_task); 405 GNUNET_assert (NULL == pr->ntr_task);
406 GNUNET_free (pr); 406 GNUNET_free (pr);
407 return GNUNET_YES; 407 return GNUNET_YES;
408} 408}
@@ -420,7 +420,7 @@ reconnect_later (struct GNUNET_CORE_Handle *h)
420 struct ControlMessage *cm; 420 struct ControlMessage *cm;
421 struct PeerRecord *pr; 421 struct PeerRecord *pr;
422 422
423 GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == h->reconnect_task); 423 GNUNET_assert (NULL == h->reconnect_task);
424 if (NULL != h->cth) 424 if (NULL != h->cth)
425 { 425 {
426 GNUNET_CLIENT_notify_transmit_ready_cancel (h->cth); 426 GNUNET_CLIENT_notify_transmit_ready_cancel (h->cth);
@@ -432,7 +432,7 @@ reconnect_later (struct GNUNET_CORE_Handle *h)
432 h->client = NULL; 432 h->client = NULL;
433 } 433 }
434 h->currently_down = GNUNET_YES; 434 h->currently_down = GNUNET_YES;
435 GNUNET_assert (h->reconnect_task == GNUNET_SCHEDULER_NO_TASK); 435 GNUNET_assert (h->reconnect_task == NULL);
436 h->reconnect_task = 436 h->reconnect_task =
437 GNUNET_SCHEDULER_add_delayed (h->retry_backoff, 437 GNUNET_SCHEDULER_add_delayed (h->retry_backoff,
438 &reconnect_task, h); 438 &reconnect_task, h);
@@ -496,10 +496,10 @@ request_next_transmission (struct PeerRecord *pr)
496 struct SendMessageRequest *smr; 496 struct SendMessageRequest *smr;
497 struct GNUNET_CORE_TransmitHandle *th; 497 struct GNUNET_CORE_TransmitHandle *th;
498 498
499 if (pr->timeout_task != GNUNET_SCHEDULER_NO_TASK) 499 if (pr->timeout_task != NULL)
500 { 500 {
501 GNUNET_SCHEDULER_cancel (pr->timeout_task); 501 GNUNET_SCHEDULER_cancel (pr->timeout_task);
502 pr->timeout_task = GNUNET_SCHEDULER_NO_TASK; 502 pr->timeout_task = NULL;
503 } 503 }
504 th = &pr->th; 504 th = &pr->th;
505 if (NULL == th->peer) 505 if (NULL == th->peer)
@@ -552,11 +552,11 @@ transmission_timeout (void *cls,
552 struct GNUNET_CORE_Handle *h = pr->ch; 552 struct GNUNET_CORE_Handle *h = pr->ch;
553 struct GNUNET_CORE_TransmitHandle *th; 553 struct GNUNET_CORE_TransmitHandle *th;
554 554
555 pr->timeout_task = GNUNET_SCHEDULER_NO_TASK; 555 pr->timeout_task = NULL;
556 if (GNUNET_SCHEDULER_NO_TASK != pr->ntr_task) 556 if (NULL != pr->ntr_task)
557 { 557 {
558 GNUNET_SCHEDULER_cancel (pr->ntr_task); 558 GNUNET_SCHEDULER_cancel (pr->ntr_task);
559 pr->ntr_task = GNUNET_SCHEDULER_NO_TASK; 559 pr->ntr_task = NULL;
560 } 560 }
561 th = &pr->th; 561 th = &pr->th;
562 th->peer = NULL; 562 th->peer = NULL;
@@ -609,7 +609,7 @@ transmit_message (void *cls,
609 uint16_t msize; 609 uint16_t msize;
610 size_t ret; 610 size_t ret;
611 611
612 GNUNET_assert (h->reconnect_task == GNUNET_SCHEDULER_NO_TASK); 612 GNUNET_assert (h->reconnect_task == NULL);
613 h->cth = NULL; 613 h->cth = NULL;
614 if (NULL == buf) 614 if (NULL == buf)
615 { 615 {
@@ -657,10 +657,10 @@ transmit_message (void *cls,
657 h->ready_peer_tail, 657 h->ready_peer_tail,
658 pr); 658 pr);
659 th->peer = NULL; 659 th->peer = NULL;
660 if (GNUNET_SCHEDULER_NO_TASK != pr->timeout_task) 660 if (NULL != pr->timeout_task)
661 { 661 {
662 GNUNET_SCHEDULER_cancel (pr->timeout_task); 662 GNUNET_SCHEDULER_cancel (pr->timeout_task);
663 pr->timeout_task = GNUNET_SCHEDULER_NO_TASK; 663 pr->timeout_task = NULL;
664 } 664 }
665 LOG (GNUNET_ERROR_TYPE_DEBUG, 665 LOG (GNUNET_ERROR_TYPE_DEBUG,
666 "Transmitting SEND request to `%s' with %u bytes.\n", 666 "Transmitting SEND request to `%s' with %u bytes.\n",
@@ -1083,7 +1083,7 @@ init_done_task (void *cls, int success)
1083 { 1083 {
1084 LOG (GNUNET_ERROR_TYPE_DEBUG, 1084 LOG (GNUNET_ERROR_TYPE_DEBUG,
1085 "Failed to exchange INIT with core, retrying\n"); 1085 "Failed to exchange INIT with core, retrying\n");
1086 if (h->reconnect_task == GNUNET_SCHEDULER_NO_TASK) 1086 if (h->reconnect_task == NULL)
1087 reconnect_later (h); 1087 reconnect_later (h);
1088 return; 1088 return;
1089 } 1089 }
@@ -1259,10 +1259,10 @@ GNUNET_CORE_disconnect (struct GNUNET_CORE_Handle *handle)
1259 GNUNET_CONTAINER_multipeermap_iterate (handle->peers, 1259 GNUNET_CONTAINER_multipeermap_iterate (handle->peers,
1260 &disconnect_and_free_peer_entry, 1260 &disconnect_and_free_peer_entry,
1261 handle); 1261 handle);
1262 if (handle->reconnect_task != GNUNET_SCHEDULER_NO_TASK) 1262 if (handle->reconnect_task != NULL)
1263 { 1263 {
1264 GNUNET_SCHEDULER_cancel (handle->reconnect_task); 1264 GNUNET_SCHEDULER_cancel (handle->reconnect_task);
1265 handle->reconnect_task = GNUNET_SCHEDULER_NO_TASK; 1265 handle->reconnect_task = NULL;
1266 } 1266 }
1267 GNUNET_CONTAINER_multipeermap_destroy (handle->peers); 1267 GNUNET_CONTAINER_multipeermap_destroy (handle->peers);
1268 handle->peers = NULL; 1268 handle->peers = NULL;
@@ -1283,7 +1283,7 @@ run_request_next_transmission (void *cls,
1283{ 1283{
1284 struct PeerRecord *pr = cls; 1284 struct PeerRecord *pr = cls;
1285 1285
1286 pr->ntr_task = GNUNET_SCHEDULER_NO_TASK; 1286 pr->ntr_task = NULL;
1287 request_next_transmission (pr); 1287 request_next_transmission (pr);
1288} 1288}
1289 1289
@@ -1361,7 +1361,7 @@ GNUNET_CORE_notify_transmit_ready (struct GNUNET_CORE_Handle *handle,
1361 th->priority = priority; 1361 th->priority = priority;
1362 th->msize = notify_size; 1362 th->msize = notify_size;
1363 th->cork = cork; 1363 th->cork = cork;
1364 GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == pr->ntr_task); 1364 GNUNET_assert (NULL == pr->ntr_task);
1365 pr->ntr_task = 1365 pr->ntr_task =
1366 GNUNET_SCHEDULER_add_now (&run_request_next_transmission, pr); 1366 GNUNET_SCHEDULER_add_now (&run_request_next_transmission, pr);
1367 LOG (GNUNET_ERROR_TYPE_DEBUG, 1367 LOG (GNUNET_ERROR_TYPE_DEBUG,
@@ -1409,10 +1409,10 @@ GNUNET_CORE_notify_transmit_ready_cancel (struct GNUNET_CORE_TransmitHandle *th)
1409 h->ready_peer_tail, 1409 h->ready_peer_tail,
1410 pr); 1410 pr);
1411 } 1411 }
1412 if (GNUNET_SCHEDULER_NO_TASK != pr->ntr_task) 1412 if (NULL != pr->ntr_task)
1413 { 1413 {
1414 GNUNET_SCHEDULER_cancel (pr->ntr_task); 1414 GNUNET_SCHEDULER_cancel (pr->ntr_task);
1415 pr->ntr_task = GNUNET_SCHEDULER_NO_TASK; 1415 pr->ntr_task = NULL;
1416 } 1416 }
1417} 1417}
1418 1418
diff --git a/src/core/gnunet-service-core_kx.c b/src/core/gnunet-service-core_kx.c
index a4e964312..94f3f5c87 100644
--- a/src/core/gnunet-service-core_kx.c
+++ b/src/core/gnunet-service-core_kx.c
@@ -302,12 +302,12 @@ struct GSC_KeyExchangeInfo
302 /** 302 /**
303 * ID of task used for re-trying SET_KEY and PING message. 303 * ID of task used for re-trying SET_KEY and PING message.
304 */ 304 */
305 GNUNET_SCHEDULER_TaskIdentifier retry_set_key_task; 305 struct GNUNET_SCHEDULER_Task * retry_set_key_task;
306 306
307 /** 307 /**
308 * ID of task used for sending keep-alive pings. 308 * ID of task used for sending keep-alive pings.
309 */ 309 */
310 GNUNET_SCHEDULER_TaskIdentifier keep_alive_task; 310 struct GNUNET_SCHEDULER_Task * keep_alive_task;
311 311
312 /** 312 /**
313 * Bit map indicating which of the 32 sequence numbers before the last 313 * Bit map indicating which of the 32 sequence numbers before the last
@@ -373,7 +373,7 @@ static struct GSC_KeyExchangeInfo *kx_tail;
373 * Task scheduled for periodic re-generation (and thus rekeying) of our 373 * Task scheduled for periodic re-generation (and thus rekeying) of our
374 * ephemeral key. 374 * ephemeral key.
375 */ 375 */
376static GNUNET_SCHEDULER_TaskIdentifier rekey_task; 376static struct GNUNET_SCHEDULER_Task * rekey_task;
377 377
378/** 378/**
379 * Notification context for all monitors. 379 * Notification context for all monitors.
@@ -651,7 +651,7 @@ set_key_retry_task (void *cls,
651{ 651{
652 struct GSC_KeyExchangeInfo *kx = cls; 652 struct GSC_KeyExchangeInfo *kx = cls;
653 653
654 kx->retry_set_key_task = GNUNET_SCHEDULER_NO_TASK; 654 kx->retry_set_key_task = NULL;
655 kx->set_key_retry_frequency = GNUNET_TIME_STD_BACKOFF (kx->set_key_retry_frequency); 655 kx->set_key_retry_frequency = GNUNET_TIME_STD_BACKOFF (kx->set_key_retry_frequency);
656 GNUNET_assert (GNUNET_CORE_KX_STATE_DOWN != kx->status); 656 GNUNET_assert (GNUNET_CORE_KX_STATE_DOWN != kx->status);
657 send_key (kx); 657 send_key (kx);
@@ -746,15 +746,15 @@ GSC_KX_stop (struct GSC_KeyExchangeInfo *kx)
746 GSC_SESSIONS_end (&kx->peer); 746 GSC_SESSIONS_end (&kx->peer);
747 GNUNET_STATISTICS_update (GSC_stats, gettext_noop ("# key exchanges stopped"), 747 GNUNET_STATISTICS_update (GSC_stats, gettext_noop ("# key exchanges stopped"),
748 1, GNUNET_NO); 748 1, GNUNET_NO);
749 if (kx->retry_set_key_task != GNUNET_SCHEDULER_NO_TASK) 749 if (kx->retry_set_key_task != NULL)
750 { 750 {
751 GNUNET_SCHEDULER_cancel (kx->retry_set_key_task); 751 GNUNET_SCHEDULER_cancel (kx->retry_set_key_task);
752 kx->retry_set_key_task = GNUNET_SCHEDULER_NO_TASK; 752 kx->retry_set_key_task = NULL;
753 } 753 }
754 if (kx->keep_alive_task != GNUNET_SCHEDULER_NO_TASK) 754 if (kx->keep_alive_task != NULL)
755 { 755 {
756 GNUNET_SCHEDULER_cancel (kx->keep_alive_task); 756 GNUNET_SCHEDULER_cancel (kx->keep_alive_task);
757 kx->keep_alive_task = GNUNET_SCHEDULER_NO_TASK; 757 kx->keep_alive_task = NULL;
758 } 758 }
759 kx->status = GNUNET_CORE_KX_PEER_DISCONNECT; 759 kx->status = GNUNET_CORE_KX_PEER_DISCONNECT;
760 monitor_notify_all (kx); 760 monitor_notify_all (kx);
@@ -929,7 +929,7 @@ GSC_KX_handle_ephemeral_key (struct GSC_KeyExchangeInfo *kx,
929 switch (kx->status) 929 switch (kx->status)
930 { 930 {
931 case GNUNET_CORE_KX_STATE_DOWN: 931 case GNUNET_CORE_KX_STATE_DOWN:
932 GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == kx->keep_alive_task); 932 GNUNET_assert (NULL == kx->keep_alive_task);
933 kx->status = GNUNET_CORE_KX_STATE_KEY_RECEIVED; 933 kx->status = GNUNET_CORE_KX_STATE_KEY_RECEIVED;
934 monitor_notify_all (kx); 934 monitor_notify_all (kx);
935 if (GNUNET_CORE_KX_STATE_KEY_SENT == sender_status) 935 if (GNUNET_CORE_KX_STATE_KEY_SENT == sender_status)
@@ -937,7 +937,7 @@ GSC_KX_handle_ephemeral_key (struct GSC_KeyExchangeInfo *kx,
937 send_ping (kx); 937 send_ping (kx);
938 break; 938 break;
939 case GNUNET_CORE_KX_STATE_KEY_SENT: 939 case GNUNET_CORE_KX_STATE_KEY_SENT:
940 GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == kx->keep_alive_task); 940 GNUNET_assert (NULL == kx->keep_alive_task);
941 kx->status = GNUNET_CORE_KX_STATE_KEY_RECEIVED; 941 kx->status = GNUNET_CORE_KX_STATE_KEY_RECEIVED;
942 monitor_notify_all (kx); 942 monitor_notify_all (kx);
943 if (GNUNET_CORE_KX_STATE_KEY_SENT == sender_status) 943 if (GNUNET_CORE_KX_STATE_KEY_SENT == sender_status)
@@ -945,7 +945,7 @@ GSC_KX_handle_ephemeral_key (struct GSC_KeyExchangeInfo *kx,
945 send_ping (kx); 945 send_ping (kx);
946 break; 946 break;
947 case GNUNET_CORE_KX_STATE_KEY_RECEIVED: 947 case GNUNET_CORE_KX_STATE_KEY_RECEIVED:
948 GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == kx->keep_alive_task); 948 GNUNET_assert (NULL == kx->keep_alive_task);
949 if (GNUNET_CORE_KX_STATE_KEY_SENT == sender_status) 949 if (GNUNET_CORE_KX_STATE_KEY_SENT == sender_status)
950 send_key (kx); 950 send_key (kx);
951 send_ping (kx); 951 send_ping (kx);
@@ -1069,7 +1069,7 @@ send_keep_alive (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
1069 struct GNUNET_TIME_Relative retry; 1069 struct GNUNET_TIME_Relative retry;
1070 struct GNUNET_TIME_Relative left; 1070 struct GNUNET_TIME_Relative left;
1071 1071
1072 kx->keep_alive_task = GNUNET_SCHEDULER_NO_TASK; 1072 kx->keep_alive_task = NULL;
1073 left = GNUNET_TIME_absolute_get_remaining (kx->timeout); 1073 left = GNUNET_TIME_absolute_get_remaining (kx->timeout);
1074 if (0 == left.rel_value_us) 1074 if (0 == left.rel_value_us)
1075 { 1075 {
@@ -1122,7 +1122,7 @@ update_timeout (struct GSC_KeyExchangeInfo *kx)
1122 are bigger than the threshold (5s) */ 1122 are bigger than the threshold (5s) */
1123 monitor_notify_all (kx); 1123 monitor_notify_all (kx);
1124 } 1124 }
1125 if (kx->keep_alive_task != GNUNET_SCHEDULER_NO_TASK) 1125 if (kx->keep_alive_task != NULL)
1126 GNUNET_SCHEDULER_cancel (kx->keep_alive_task); 1126 GNUNET_SCHEDULER_cancel (kx->keep_alive_task);
1127 kx->keep_alive_task = 1127 kx->keep_alive_task =
1128 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_divide 1128 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_divide
@@ -1213,10 +1213,10 @@ GSC_KX_handle_pong (struct GSC_KeyExchangeInfo *kx,
1213 "Received PONG from `%s'\n", 1213 "Received PONG from `%s'\n",
1214 GNUNET_i2s (&kx->peer)); 1214 GNUNET_i2s (&kx->peer));
1215 /* no need to resend key any longer */ 1215 /* no need to resend key any longer */
1216 if (GNUNET_SCHEDULER_NO_TASK != kx->retry_set_key_task) 1216 if (NULL != kx->retry_set_key_task)
1217 { 1217 {
1218 GNUNET_SCHEDULER_cancel (kx->retry_set_key_task); 1218 GNUNET_SCHEDULER_cancel (kx->retry_set_key_task);
1219 kx->retry_set_key_task = GNUNET_SCHEDULER_NO_TASK; 1219 kx->retry_set_key_task = NULL;
1220 } 1220 }
1221 switch (kx->status) 1221 switch (kx->status)
1222 { 1222 {
@@ -1234,7 +1234,7 @@ GSC_KX_handle_pong (struct GSC_KeyExchangeInfo *kx,
1234 kx->status = GNUNET_CORE_KX_STATE_UP; 1234 kx->status = GNUNET_CORE_KX_STATE_UP;
1235 monitor_notify_all (kx); 1235 monitor_notify_all (kx);
1236 GSC_SESSIONS_create (&kx->peer, kx); 1236 GSC_SESSIONS_create (&kx->peer, kx);
1237 GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == kx->keep_alive_task); 1237 GNUNET_assert (NULL == kx->keep_alive_task);
1238 update_timeout (kx); 1238 update_timeout (kx);
1239 break; 1239 break;
1240 case GNUNET_CORE_KX_STATE_UP: 1240 case GNUNET_CORE_KX_STATE_UP:
@@ -1269,10 +1269,10 @@ static void
1269send_key (struct GSC_KeyExchangeInfo *kx) 1269send_key (struct GSC_KeyExchangeInfo *kx)
1270{ 1270{
1271 GNUNET_assert (GNUNET_CORE_KX_STATE_DOWN != kx->status); 1271 GNUNET_assert (GNUNET_CORE_KX_STATE_DOWN != kx->status);
1272 if (GNUNET_SCHEDULER_NO_TASK != kx->retry_set_key_task) 1272 if (NULL != kx->retry_set_key_task)
1273 { 1273 {
1274 GNUNET_SCHEDULER_cancel (kx->retry_set_key_task); 1274 GNUNET_SCHEDULER_cancel (kx->retry_set_key_task);
1275 kx->retry_set_key_task = GNUNET_SCHEDULER_NO_TASK; 1275 kx->retry_set_key_task = NULL;
1276 } 1276 }
1277 /* always update sender status in SET KEY message */ 1277 /* always update sender status in SET KEY message */
1278 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 1278 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -1402,10 +1402,10 @@ GSC_KX_handle_encrypted_message (struct GSC_KeyExchangeInfo *kx,
1402 gettext_noop ("# sessions terminated by key expiration"), 1402 gettext_noop ("# sessions terminated by key expiration"),
1403 1, GNUNET_NO); 1403 1, GNUNET_NO);
1404 GSC_SESSIONS_end (&kx->peer); 1404 GSC_SESSIONS_end (&kx->peer);
1405 if (GNUNET_SCHEDULER_NO_TASK != kx->keep_alive_task) 1405 if (NULL != kx->keep_alive_task)
1406 { 1406 {
1407 GNUNET_SCHEDULER_cancel (kx->keep_alive_task); 1407 GNUNET_SCHEDULER_cancel (kx->keep_alive_task);
1408 kx->keep_alive_task = GNUNET_SCHEDULER_NO_TASK; 1408 kx->keep_alive_task = NULL;
1409 } 1409 }
1410 kx->status = GNUNET_CORE_KX_STATE_KEY_SENT; 1410 kx->status = GNUNET_CORE_KX_STATE_KEY_SENT;
1411 monitor_notify_all (kx); 1411 monitor_notify_all (kx);
@@ -1684,10 +1684,10 @@ GSC_KX_init (struct GNUNET_CRYPTO_EddsaPrivateKey *pk,
1684void 1684void
1685GSC_KX_done () 1685GSC_KX_done ()
1686{ 1686{
1687 if (GNUNET_SCHEDULER_NO_TASK != rekey_task) 1687 if (NULL != rekey_task)
1688 { 1688 {
1689 GNUNET_SCHEDULER_cancel (rekey_task); 1689 GNUNET_SCHEDULER_cancel (rekey_task);
1690 rekey_task = GNUNET_SCHEDULER_NO_TASK; 1690 rekey_task = NULL;
1691 } 1691 }
1692 if (NULL != my_ephemeral_key) 1692 if (NULL != my_ephemeral_key)
1693 { 1693 {
diff --git a/src/core/gnunet-service-core_neighbours.c b/src/core/gnunet-service-core_neighbours.c
index 20055081b..4fbe72074 100644
--- a/src/core/gnunet-service-core_neighbours.c
+++ b/src/core/gnunet-service-core_neighbours.c
@@ -103,7 +103,7 @@ struct Neighbour
103 /** 103 /**
104 * ID of task used for re-trying plaintext scheduling. 104 * ID of task used for re-trying plaintext scheduling.
105 */ 105 */
106 GNUNET_SCHEDULER_TaskIdentifier retry_plaintext_task; 106 struct GNUNET_SCHEDULER_Task * retry_plaintext_task;
107 107
108 /** 108 /**
109 * #GNUNET_YES if this peer currently has excess bandwidth. 109 * #GNUNET_YES if this peer currently has excess bandwidth.
@@ -172,10 +172,10 @@ free_neighbour (struct Neighbour *n)
172 GSC_KX_stop (n->kxinfo); 172 GSC_KX_stop (n->kxinfo);
173 n->kxinfo = NULL; 173 n->kxinfo = NULL;
174 } 174 }
175 if (n->retry_plaintext_task != GNUNET_SCHEDULER_NO_TASK) 175 if (n->retry_plaintext_task != NULL)
176 { 176 {
177 GNUNET_SCHEDULER_cancel (n->retry_plaintext_task); 177 GNUNET_SCHEDULER_cancel (n->retry_plaintext_task);
178 n->retry_plaintext_task = GNUNET_SCHEDULER_NO_TASK; 178 n->retry_plaintext_task = NULL;
179 } 179 }
180 GNUNET_assert (GNUNET_OK == 180 GNUNET_assert (GNUNET_OK ==
181 GNUNET_CONTAINER_multipeermap_remove (neighbours, 181 GNUNET_CONTAINER_multipeermap_remove (neighbours,
diff --git a/src/core/gnunet-service-core_sessions.c b/src/core/gnunet-service-core_sessions.c
index 83b1147b8..a168eeed3 100644
--- a/src/core/gnunet-service-core_sessions.c
+++ b/src/core/gnunet-service-core_sessions.c
@@ -118,12 +118,12 @@ struct Session
118 /** 118 /**
119 * Task to transmit corked messages with a delay. 119 * Task to transmit corked messages with a delay.
120 */ 120 */
121 GNUNET_SCHEDULER_TaskIdentifier cork_task; 121 struct GNUNET_SCHEDULER_Task * cork_task;
122 122
123 /** 123 /**
124 * Task to transmit our type map. 124 * Task to transmit our type map.
125 */ 125 */
126 GNUNET_SCHEDULER_TaskIdentifier typemap_task; 126 struct GNUNET_SCHEDULER_Task * typemap_task;
127 127
128 /** 128 /**
129 * Retransmission delay we currently use for the typemap 129 * Retransmission delay we currently use for the typemap
@@ -213,10 +213,10 @@ GSC_SESSIONS_end (const struct GNUNET_PeerIdentity *pid)
213 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 213 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
214 "Destroying session for peer `%4s'\n", 214 "Destroying session for peer `%4s'\n",
215 GNUNET_i2s (&session->peer)); 215 GNUNET_i2s (&session->peer));
216 if (GNUNET_SCHEDULER_NO_TASK != session->cork_task) 216 if (NULL != session->cork_task)
217 { 217 {
218 GNUNET_SCHEDULER_cancel (session->cork_task); 218 GNUNET_SCHEDULER_cancel (session->cork_task);
219 session->cork_task = GNUNET_SCHEDULER_NO_TASK; 219 session->cork_task = NULL;
220 } 220 }
221 while (NULL != (car = session->active_client_request_head)) 221 while (NULL != (car = session->active_client_request_head))
222 { 222 {
@@ -231,10 +231,10 @@ GSC_SESSIONS_end (const struct GNUNET_PeerIdentity *pid)
231 sme); 231 sme);
232 GNUNET_free (sme); 232 GNUNET_free (sme);
233 } 233 }
234 if (GNUNET_SCHEDULER_NO_TASK != session->typemap_task) 234 if (NULL != session->typemap_task)
235 { 235 {
236 GNUNET_SCHEDULER_cancel (session->typemap_task); 236 GNUNET_SCHEDULER_cancel (session->typemap_task);
237 session->typemap_task = GNUNET_SCHEDULER_NO_TASK; 237 session->typemap_task = NULL;
238 } 238 }
239 GSC_CLIENTS_notify_clients_about_neighbour (&session->peer, 239 GSC_CLIENTS_notify_clients_about_neighbour (&session->peer,
240 session->tmap, NULL); 240 session->tmap, NULL);
@@ -291,7 +291,7 @@ transmit_typemap_task (void *cls,
291static void 291static void
292start_typemap_task (struct Session *session) 292start_typemap_task (struct Session *session)
293{ 293{
294 if (GNUNET_SCHEDULER_NO_TASK != session->typemap_task) 294 if (NULL != session->typemap_task)
295 GNUNET_SCHEDULER_cancel (session->typemap_task); 295 GNUNET_SCHEDULER_cancel (session->typemap_task);
296 session->typemap_delay = GNUNET_TIME_UNIT_SECONDS; 296 session->typemap_delay = GNUNET_TIME_UNIT_SECONDS;
297 session->typemap_task = 297 session->typemap_task =
@@ -395,10 +395,10 @@ GSC_SESSIONS_confirm_typemap (const struct GNUNET_PeerIdentity *peer,
395 1, GNUNET_NO); 395 1, GNUNET_NO);
396 return; 396 return;
397 } 397 }
398 if (GNUNET_SCHEDULER_NO_TASK != session->typemap_task) 398 if (NULL != session->typemap_task)
399 { 399 {
400 GNUNET_SCHEDULER_cancel (session->typemap_task); 400 GNUNET_SCHEDULER_cancel (session->typemap_task);
401 session->typemap_task = GNUNET_SCHEDULER_NO_TASK; 401 session->typemap_task = NULL;
402 } 402 }
403 GNUNET_STATISTICS_update (GSC_stats, 403 GNUNET_STATISTICS_update (GSC_stats,
404 gettext_noop 404 gettext_noop
@@ -606,7 +606,7 @@ pop_cork_task (void *cls,
606{ 606{
607 struct Session *session = cls; 607 struct Session *session = cls;
608 608
609 session->cork_task = GNUNET_SCHEDULER_NO_TASK; 609 session->cork_task = NULL;
610 try_transmission (session); 610 try_transmission (session);
611} 611}
612 612
@@ -720,7 +720,7 @@ try_transmission (struct Session *session)
720 "Corking until %s\n", 720 "Corking until %s\n",
721 GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_absolute_get_remaining (min_deadline), 721 GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_absolute_get_remaining (min_deadline),
722 GNUNET_YES)); 722 GNUNET_YES));
723 if (GNUNET_SCHEDULER_NO_TASK != session->cork_task) 723 if (NULL != session->cork_task)
724 GNUNET_SCHEDULER_cancel (session->cork_task); 724 GNUNET_SCHEDULER_cancel (session->cork_task);
725 session->cork_task = 725 session->cork_task =
726 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_absolute_get_remaining (min_deadline), 726 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_absolute_get_remaining (min_deadline),
diff --git a/src/core/test_core_api.c b/src/core/test_core_api.c
index c570def84..cc7c93176 100644
--- a/src/core/test_core_api.c
+++ b/src/core/test_core_api.c
@@ -48,9 +48,9 @@ static struct PeerContext p1;
48 48
49static struct PeerContext p2; 49static struct PeerContext p2;
50 50
51static GNUNET_SCHEDULER_TaskIdentifier err_task; 51static struct GNUNET_SCHEDULER_Task * err_task;
52 52
53static GNUNET_SCHEDULER_TaskIdentifier con_task; 53static struct GNUNET_SCHEDULER_Task * con_task;
54 54
55static int ok; 55static int ok;
56 56
@@ -88,10 +88,10 @@ terminate_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
88 p1.th = NULL; 88 p1.th = NULL;
89 GNUNET_TRANSPORT_disconnect (p2.th); 89 GNUNET_TRANSPORT_disconnect (p2.th);
90 p2.th = NULL; 90 p2.th = NULL;
91 if (GNUNET_SCHEDULER_NO_TASK != con_task) 91 if (NULL != con_task)
92 { 92 {
93 GNUNET_SCHEDULER_cancel (con_task); 93 GNUNET_SCHEDULER_cancel (con_task);
94 con_task = GNUNET_SCHEDULER_NO_TASK; 94 con_task = NULL;
95 } 95 }
96 ok = 0; 96 ok = 0;
97} 97}
@@ -125,10 +125,10 @@ terminate_task_error (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
125 GNUNET_TRANSPORT_disconnect (p2.th); 125 GNUNET_TRANSPORT_disconnect (p2.th);
126 p2.th = NULL; 126 p2.th = NULL;
127 } 127 }
128 if (GNUNET_SCHEDULER_NO_TASK != con_task) 128 if (NULL != con_task)
129 { 129 {
130 GNUNET_SCHEDULER_cancel (con_task); 130 GNUNET_SCHEDULER_cancel (con_task);
131 con_task = GNUNET_SCHEDULER_NO_TASK; 131 con_task = NULL;
132 } 132 }
133 ok = 42; 133 ok = 42;
134} 134}
@@ -162,10 +162,10 @@ connect_notify (void *cls, const struct GNUNET_PeerIdentity *peer)
162 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 162 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
163 "Encrypted connection established to peer `%4s'\n", 163 "Encrypted connection established to peer `%4s'\n",
164 GNUNET_i2s (peer)); 164 GNUNET_i2s (peer));
165 if (GNUNET_SCHEDULER_NO_TASK != con_task) 165 if (NULL != con_task)
166 { 166 {
167 GNUNET_SCHEDULER_cancel (con_task); 167 GNUNET_SCHEDULER_cancel (con_task);
168 con_task = GNUNET_SCHEDULER_NO_TASK; 168 con_task = NULL;
169 } 169 }
170 pc->connect_status = 1; 170 pc->connect_status = 1;
171 if (pc == &p1) 171 if (pc == &p1)
@@ -250,7 +250,7 @@ connect_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
250{ 250{
251 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) 251 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
252 { 252 {
253 con_task = GNUNET_SCHEDULER_NO_TASK; 253 con_task = NULL;
254 return; 254 return;
255 } 255 }
256 con_task = 256 con_task =
diff --git a/src/core/test_core_api_reliability.c b/src/core/test_core_api_reliability.c
index fba153ade..55d1978ac 100644
--- a/src/core/test_core_api_reliability.c
+++ b/src/core/test_core_api_reliability.c
@@ -55,9 +55,9 @@ static unsigned long long total_bytes;
55 55
56static struct GNUNET_TIME_Absolute start_time; 56static struct GNUNET_TIME_Absolute start_time;
57 57
58static GNUNET_SCHEDULER_TaskIdentifier err_task; 58static struct GNUNET_SCHEDULER_Task * err_task;
59 59
60static GNUNET_SCHEDULER_TaskIdentifier connect_task; 60static struct GNUNET_SCHEDULER_Task * connect_task;
61 61
62 62
63struct PeerContext 63struct PeerContext
@@ -119,7 +119,7 @@ terminate_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
119 GNUNET_CORE_disconnect (p2.ch); 119 GNUNET_CORE_disconnect (p2.ch);
120 p2.ch = NULL; 120 p2.ch = NULL;
121 GNUNET_free_non_null (p2.hello); 121 GNUNET_free_non_null (p2.hello);
122 if (connect_task != GNUNET_SCHEDULER_NO_TASK) 122 if (connect_task != NULL)
123 GNUNET_SCHEDULER_cancel (connect_task); 123 GNUNET_SCHEDULER_cancel (connect_task);
124 GNUNET_TRANSPORT_disconnect (p1.th); 124 GNUNET_TRANSPORT_disconnect (p1.th);
125 p1.th = NULL; 125 p1.th = NULL;
@@ -148,7 +148,7 @@ terminate_task_error (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
148 GNUNET_CORE_disconnect (p2.ch); 148 GNUNET_CORE_disconnect (p2.ch);
149 p2.ch = NULL; 149 p2.ch = NULL;
150 } 150 }
151 if (connect_task != GNUNET_SCHEDULER_NO_TASK) 151 if (connect_task != NULL)
152 GNUNET_SCHEDULER_cancel (connect_task); 152 GNUNET_SCHEDULER_cancel (connect_task);
153 if (p1.th != NULL) 153 if (p1.th != NULL)
154 { 154 {
diff --git a/src/core/test_core_api_send_to_self.c b/src/core/test_core_api_send_to_self.c
index 913ae3848..f5ed7453c 100644
--- a/src/core/test_core_api_send_to_self.c
+++ b/src/core/test_core_api_send_to_self.c
@@ -38,7 +38,7 @@ static int ret;
38/** 38/**
39 * Handle to the cleanup task. 39 * Handle to the cleanup task.
40 */ 40 */
41GNUNET_SCHEDULER_TaskIdentifier die_task; 41struct GNUNET_SCHEDULER_Task * die_task;
42 42
43/** 43/**
44 * Identity of this peer. 44 * Identity of this peer.
@@ -57,7 +57,7 @@ struct GNUNET_CORE_Handle *core;
57static void 57static void
58cleanup (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tskctx) 58cleanup (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tskctx)
59{ 59{
60 die_task = GNUNET_SCHEDULER_NO_TASK; 60 die_task = NULL;
61 61
62 if (core != NULL) 62 if (core != NULL)
63 { 63 {
@@ -73,7 +73,7 @@ static int
73receive (void *cls, const struct GNUNET_PeerIdentity *other, 73receive (void *cls, const struct GNUNET_PeerIdentity *other,
74 const struct GNUNET_MessageHeader *message) 74 const struct GNUNET_MessageHeader *message)
75{ 75{
76 if (die_task != GNUNET_SCHEDULER_NO_TASK) 76 if (die_task != NULL)
77 GNUNET_SCHEDULER_cancel (die_task); 77 GNUNET_SCHEDULER_cancel (die_task);
78 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Received message from peer %s\n", 78 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Received message from peer %s\n",
79 GNUNET_i2s (other)); 79 GNUNET_i2s (other));
diff --git a/src/core/test_core_api_start_only.c b/src/core/test_core_api_start_only.c
index 3c14b01eb..8d46c176b 100644
--- a/src/core/test_core_api_start_only.c
+++ b/src/core/test_core_api_start_only.c
@@ -46,7 +46,7 @@ static struct PeerContext p1;
46 46
47static struct PeerContext p2; 47static struct PeerContext p2;
48 48
49static GNUNET_SCHEDULER_TaskIdentifier timeout_task_id; 49static struct GNUNET_SCHEDULER_Task * timeout_task_id;
50 50
51static int ok; 51static int ok;
52 52
diff --git a/src/core/test_core_quota_compliance.c b/src/core/test_core_quota_compliance.c
index bf9197f0c..a20a6c7d0 100644
--- a/src/core/test_core_quota_compliance.c
+++ b/src/core/test_core_quota_compliance.c
@@ -62,11 +62,11 @@ static unsigned long long total_bytes_recv;
62 62
63static struct GNUNET_TIME_Absolute start_time; 63static struct GNUNET_TIME_Absolute start_time;
64 64
65static GNUNET_SCHEDULER_TaskIdentifier err_task; 65static struct GNUNET_SCHEDULER_Task * err_task;
66 66
67static GNUNET_SCHEDULER_TaskIdentifier measure_task; 67static struct GNUNET_SCHEDULER_Task * measure_task;
68 68
69static GNUNET_SCHEDULER_TaskIdentifier connect_task; 69static struct GNUNET_SCHEDULER_Task * connect_task;
70 70
71 71
72struct PeerContext 72struct PeerContext
@@ -118,7 +118,7 @@ terminate_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
118{ 118{
119 struct GNUNET_CORE_Handle *ch; 119 struct GNUNET_CORE_Handle *ch;
120 120
121 err_task = GNUNET_SCHEDULER_NO_TASK; 121 err_task = NULL;
122 GNUNET_STATISTICS_destroy (p1.stats, GNUNET_NO); 122 GNUNET_STATISTICS_destroy (p1.stats, GNUNET_NO);
123 GNUNET_STATISTICS_destroy (p2.stats, GNUNET_NO); 123 GNUNET_STATISTICS_destroy (p2.stats, GNUNET_NO);
124 GNUNET_TRANSPORT_get_hello_cancel (p2.ghh); 124 GNUNET_TRANSPORT_get_hello_cancel (p2.ghh);
@@ -128,10 +128,10 @@ terminate_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
128 GNUNET_CORE_notify_transmit_ready_cancel (p1.nth); 128 GNUNET_CORE_notify_transmit_ready_cancel (p1.nth);
129 p1.nth = NULL; 129 p1.nth = NULL;
130 } 130 }
131 if (connect_task != GNUNET_SCHEDULER_NO_TASK) 131 if (connect_task != NULL)
132 { 132 {
133 GNUNET_SCHEDULER_cancel (connect_task); 133 GNUNET_SCHEDULER_cancel (connect_task);
134 connect_task = GNUNET_SCHEDULER_NO_TASK; 134 connect_task = NULL;
135 } 135 }
136 ch = p1.ch; 136 ch = p1.ch;
137 p1.ch = NULL; 137 p1.ch = NULL;
@@ -151,7 +151,7 @@ terminate_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
151static void 151static void
152terminate_task_error (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) 152terminate_task_error (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
153{ 153{
154 err_task = GNUNET_SCHEDULER_NO_TASK; 154 err_task = NULL;
155 155
156 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) 156 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
157 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Testcase failed!\n"); 157 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Testcase failed!\n");
@@ -161,12 +161,12 @@ terminate_task_error (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
161 GNUNET_CORE_notify_transmit_ready_cancel (p1.nth); 161 GNUNET_CORE_notify_transmit_ready_cancel (p1.nth);
162 p1.nth = NULL; 162 p1.nth = NULL;
163 } 163 }
164 if (measure_task != GNUNET_SCHEDULER_NO_TASK) 164 if (measure_task != NULL)
165 GNUNET_SCHEDULER_cancel (measure_task); 165 GNUNET_SCHEDULER_cancel (measure_task);
166 if (connect_task != GNUNET_SCHEDULER_NO_TASK) 166 if (connect_task != NULL)
167 { 167 {
168 GNUNET_SCHEDULER_cancel (connect_task); 168 GNUNET_SCHEDULER_cancel (connect_task);
169 connect_task = GNUNET_SCHEDULER_NO_TASK; 169 connect_task = NULL;
170 } 170 }
171 171
172 GNUNET_TRANSPORT_get_hello_cancel (p1.ghh); 172 GNUNET_TRANSPORT_get_hello_cancel (p1.ghh);
@@ -231,7 +231,7 @@ measurement_stop (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
231 unsigned long long quota_delta; 231 unsigned long long quota_delta;
232 enum GNUNET_ErrorType kind = GNUNET_ERROR_TYPE_DEBUG; 232 enum GNUNET_ErrorType kind = GNUNET_ERROR_TYPE_DEBUG;
233 233
234 measure_task = GNUNET_SCHEDULER_NO_TASK; 234 measure_task = NULL;
235 FPRINTF (stdout, "%s", "\n"); 235 FPRINTF (stdout, "%s", "\n");
236 running = GNUNET_NO; 236 running = GNUNET_NO;
237 237
@@ -381,7 +381,7 @@ connect_notify (void *cls, const struct GNUNET_PeerIdentity *peer)
381 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 381 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
382 "Asking core (1) for transmission to peer `%4s'\n", 382 "Asking core (1) for transmission to peer `%4s'\n",
383 GNUNET_i2s (&p2.id)); 383 GNUNET_i2s (&p2.id));
384 if (err_task != GNUNET_SCHEDULER_NO_TASK) 384 if (err_task != NULL)
385 GNUNET_SCHEDULER_cancel (err_task); 385 GNUNET_SCHEDULER_cancel (err_task);
386 err_task = 386 err_task =
387 GNUNET_SCHEDULER_add_delayed (TIMEOUT, &terminate_task_error, NULL); 387 GNUNET_SCHEDULER_add_delayed (TIMEOUT, &terminate_task_error, NULL);
@@ -410,12 +410,12 @@ disconnect_notify (void *cls, const struct GNUNET_PeerIdentity *peer)
410 if (0 == memcmp (&pc->id, peer, sizeof (struct GNUNET_PeerIdentity))) 410 if (0 == memcmp (&pc->id, peer, sizeof (struct GNUNET_PeerIdentity)))
411 return; /* loopback */ 411 return; /* loopback */
412 pc->connect_status = 0; 412 pc->connect_status = 0;
413 if (GNUNET_SCHEDULER_NO_TASK != measure_task) 413 if (NULL != measure_task)
414 { 414 {
415 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 415 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
416 "Measurement aborted due to disconnect!\n"); 416 "Measurement aborted due to disconnect!\n");
417 GNUNET_SCHEDULER_cancel (measure_task); 417 GNUNET_SCHEDULER_cancel (measure_task);
418 measure_task = GNUNET_SCHEDULER_NO_TASK; 418 measure_task = NULL;
419 } 419 }
420 if (pc->nth != NULL) 420 if (pc->nth != NULL)
421 { 421 {