diff options
author | Christian Grothoff <christian@grothoff.org> | 2009-10-04 14:43:50 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2009-10-04 14:43:50 +0000 |
commit | a96e3687af7f2353bdc72366996eed473f542523 (patch) | |
tree | 7d11a5a0e6b32383b1f1e9baba88beb817eed4fe /src | |
parent | b547897ce3fe3ae2a129afb36bf26eadfb695eef (diff) | |
download | gnunet-a96e3687af7f2353bdc72366996eed473f542523.tar.gz gnunet-a96e3687af7f2353bdc72366996eed473f542523.zip |
more debug support
Diffstat (limited to 'src')
-rw-r--r-- | src/util/connection.c | 131 | ||||
-rw-r--r-- | src/util/scheduler.c | 50 |
2 files changed, 104 insertions, 77 deletions
diff --git a/src/util/connection.c b/src/util/connection.c index e1aa07c1d..fa367faf9 100644 --- a/src/util/connection.c +++ b/src/util/connection.c | |||
@@ -388,11 +388,6 @@ GNUNET_CONNECTION_create_from_accept (struct GNUNET_SCHEDULER_Handle | |||
388 | GNUNET_free (uaddr); | 388 | GNUNET_free (uaddr); |
389 | return NULL; | 389 | return NULL; |
390 | } | 390 | } |
391 | #if DEBUG_CONNECTION | ||
392 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | ||
393 | _("Accepting connection from `%s'\n"), | ||
394 | GNUNET_a2s(uaddr, addrlen)); | ||
395 | #endif | ||
396 | ret = GNUNET_malloc (sizeof (struct GNUNET_CONNECTION_Handle) + maxbuf); | 391 | ret = GNUNET_malloc (sizeof (struct GNUNET_CONNECTION_Handle) + maxbuf); |
397 | ret->write_buffer = (char *) &ret[1]; | 392 | ret->write_buffer = (char *) &ret[1]; |
398 | ret->write_buffer_size = maxbuf; | 393 | ret->write_buffer_size = maxbuf; |
@@ -400,6 +395,12 @@ GNUNET_CONNECTION_create_from_accept (struct GNUNET_SCHEDULER_Handle | |||
400 | ret->addrlen = addrlen; | 395 | ret->addrlen = addrlen; |
401 | ret->sock = sock; | 396 | ret->sock = sock; |
402 | ret->sched = sched; | 397 | ret->sched = sched; |
398 | #if DEBUG_CONNECTION | ||
399 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | ||
400 | _("Accepting connection from `%s': %p\n"), | ||
401 | GNUNET_a2s(uaddr, addrlen), | ||
402 | ret); | ||
403 | #endif | ||
403 | return ret; | 404 | return ret; |
404 | } | 405 | } |
405 | 406 | ||
@@ -472,7 +473,8 @@ destroy_continuation (void *cls, | |||
472 | { | 473 | { |
473 | #if DEBUG_CONNECTION | 474 | #if DEBUG_CONNECTION |
474 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 475 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
475 | "Destroy waits for CCS-TR to be done\n"); | 476 | "Destroy waits for CCS-TR to be done (%p)\n", |
477 | sock); | ||
476 | #endif | 478 | #endif |
477 | sock->ccs |= COCO_DESTROY_CONTINUATION; | 479 | sock->ccs |= COCO_DESTROY_CONTINUATION; |
478 | return; | 480 | return; |
@@ -481,7 +483,8 @@ destroy_continuation (void *cls, | |||
481 | { | 483 | { |
482 | #if DEBUG_CONNECTION | 484 | #if DEBUG_CONNECTION |
483 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 485 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
484 | "Destroy waits for write_task to be done\n"); | 486 | "Destroy waits for write_task to be done (%p)\n", |
487 | sock); | ||
485 | #endif | 488 | #endif |
486 | GNUNET_SCHEDULER_add_after (sock->sched, | 489 | GNUNET_SCHEDULER_add_after (sock->sched, |
487 | GNUNET_YES, | 490 | GNUNET_YES, |
@@ -498,7 +501,9 @@ destroy_continuation (void *cls, | |||
498 | if (sock->sock != NULL) | 501 | if (sock->sock != NULL) |
499 | { | 502 | { |
500 | #if DEBUG_CONNECTION | 503 | #if DEBUG_CONNECTION |
501 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Shutting down socket.\n"); | 504 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
505 | "Shutting down socket (%p)\n", | ||
506 | sock); | ||
502 | #endif | 507 | #endif |
503 | GNUNET_NETWORK_socket_shutdown (sock->sock, SHUT_RDWR); | 508 | GNUNET_NETWORK_socket_shutdown (sock->sock, SHUT_RDWR); |
504 | } | 509 | } |
@@ -513,7 +518,8 @@ destroy_continuation (void *cls, | |||
513 | } | 518 | } |
514 | #if DEBUG_CONNECTION | 519 | #if DEBUG_CONNECTION |
515 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 520 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
516 | "Destroy actually runs!\n"); | 521 | "Destroy actually runs (%p)!\n", |
522 | sock); | ||
517 | #endif | 523 | #endif |
518 | GNUNET_assert (sock->nth.timeout_task == GNUNET_SCHEDULER_NO_TASK); | 524 | GNUNET_assert (sock->nth.timeout_task == GNUNET_SCHEDULER_NO_TASK); |
519 | GNUNET_assert (sock->ccs == COCO_NONE); | 525 | GNUNET_assert (sock->ccs == COCO_NONE); |
@@ -553,9 +559,10 @@ connect_fail_continuation (struct GNUNET_CONNECTION_Handle *h) | |||
553 | { | 559 | { |
554 | #if DEBUG_CONNECTION | 560 | #if DEBUG_CONNECTION |
555 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 561 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
556 | "Failed to establish TCP connection to `%s:%u', no further addresses to try.\n", | 562 | "Failed to establish TCP connection to `%s:%u', no further addresses to try (%p).\n", |
557 | h->hostname, | 563 | h->hostname, |
558 | h->port); | 564 | h->port, |
565 | h); | ||
559 | #endif | 566 | #endif |
560 | /* connect failed / timed out */ | 567 | /* connect failed / timed out */ |
561 | GNUNET_break (h->ap_head == NULL); | 568 | GNUNET_break (h->ap_head == NULL); |
@@ -569,7 +576,8 @@ connect_fail_continuation (struct GNUNET_CONNECTION_Handle *h) | |||
569 | { | 576 | { |
570 | #if DEBUG_CONNECTION | 577 | #if DEBUG_CONNECTION |
571 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 578 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
572 | "connect_timeout_continuation triggers receive_again\n"); | 579 | "connect_timeout_continuation triggers receive_again (%p)\n", |
580 | h); | ||
573 | #endif | 581 | #endif |
574 | h->ccs -= COCO_RECEIVE_AGAIN; | 582 | h->ccs -= COCO_RECEIVE_AGAIN; |
575 | h->read_task = GNUNET_SCHEDULER_add_after (h->sched, | 583 | h->read_task = GNUNET_SCHEDULER_add_after (h->sched, |
@@ -583,7 +591,8 @@ connect_fail_continuation (struct GNUNET_CONNECTION_Handle *h) | |||
583 | { | 591 | { |
584 | #if DEBUG_CONNECTION | 592 | #if DEBUG_CONNECTION |
585 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 593 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
586 | "connect_timeout_continuation cancels timeout_task, triggers transmit_ready\n"); | 594 | "connect_timeout_continuation cancels timeout_task, triggers transmit_ready (%p)\n", |
595 | h); | ||
587 | #endif | 596 | #endif |
588 | GNUNET_assert (h->nth.timeout_task != GNUNET_SCHEDULER_NO_TASK); | 597 | GNUNET_assert (h->nth.timeout_task != GNUNET_SCHEDULER_NO_TASK); |
589 | GNUNET_SCHEDULER_cancel (h->sched, h->nth.timeout_task); | 598 | GNUNET_SCHEDULER_cancel (h->sched, h->nth.timeout_task); |
@@ -600,7 +609,8 @@ connect_fail_continuation (struct GNUNET_CONNECTION_Handle *h) | |||
600 | { | 609 | { |
601 | #if DEBUG_CONNECTION | 610 | #if DEBUG_CONNECTION |
602 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 611 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
603 | "connect_timeout_continuation runs destroy_continuation\n"); | 612 | "connect_timeout_continuation runs destroy_continuation (%p)\n", |
613 | h); | ||
604 | #endif | 614 | #endif |
605 | h->ccs -= COCO_DESTROY_CONTINUATION; | 615 | h->ccs -= COCO_DESTROY_CONTINUATION; |
606 | GNUNET_SCHEDULER_add_continuation (h->sched, | 616 | GNUNET_SCHEDULER_add_continuation (h->sched, |
@@ -622,15 +632,17 @@ connect_success_continuation (struct GNUNET_CONNECTION_Handle *h) | |||
622 | { | 632 | { |
623 | #if DEBUG_CONNECTION | 633 | #if DEBUG_CONNECTION |
624 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 634 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
625 | "Connection to `%s' succeeded!\n", | 635 | "Connection to `%s' succeeded! (%p)\n", |
626 | GNUNET_a2s(h->addr, h->addrlen)); | 636 | GNUNET_a2s(h->addr, h->addrlen), |
637 | h); | ||
627 | #endif | 638 | #endif |
628 | /* trigger jobs that waited for the connection */ | 639 | /* trigger jobs that waited for the connection */ |
629 | if (0 != (h->ccs & COCO_RECEIVE_AGAIN)) | 640 | if (0 != (h->ccs & COCO_RECEIVE_AGAIN)) |
630 | { | 641 | { |
631 | #if DEBUG_CONNECTION | 642 | #if DEBUG_CONNECTION |
632 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 643 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
633 | "connect_success_continuation runs receive_again\n"); | 644 | "connect_success_continuation runs receive_again (%p)\n", |
645 | h); | ||
634 | #endif | 646 | #endif |
635 | h->ccs -= COCO_RECEIVE_AGAIN; | 647 | h->ccs -= COCO_RECEIVE_AGAIN; |
636 | h->read_task = GNUNET_SCHEDULER_add_after (h->sched, | 648 | h->read_task = GNUNET_SCHEDULER_add_after (h->sched, |
@@ -644,7 +656,8 @@ connect_success_continuation (struct GNUNET_CONNECTION_Handle *h) | |||
644 | { | 656 | { |
645 | #if DEBUG_CONNECTION | 657 | #if DEBUG_CONNECTION |
646 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 658 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
647 | "connect_success_continuation runs transmit_ready, cancels timeout_task\n"); | 659 | "connect_success_continuation runs transmit_ready, cancels timeout_task (%p)\n", |
660 | h); | ||
648 | #endif | 661 | #endif |
649 | GNUNET_assert (h->nth.timeout_task != GNUNET_SCHEDULER_NO_TASK); | 662 | GNUNET_assert (h->nth.timeout_task != GNUNET_SCHEDULER_NO_TASK); |
650 | GNUNET_SCHEDULER_cancel (h->sched, h->nth.timeout_task); | 663 | GNUNET_SCHEDULER_cancel (h->sched, h->nth.timeout_task); |
@@ -662,7 +675,8 @@ connect_success_continuation (struct GNUNET_CONNECTION_Handle *h) | |||
662 | { | 675 | { |
663 | #if DEBUG_CONNECTION | 676 | #if DEBUG_CONNECTION |
664 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 677 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
665 | "connect_success_continuation runs destroy_continuation\n"); | 678 | "connect_success_continuation runs destroy_continuation (%p)\n", |
679 | h); | ||
666 | #endif | 680 | #endif |
667 | h->ccs -= COCO_DESTROY_CONTINUATION; | 681 | h->ccs -= COCO_DESTROY_CONTINUATION; |
668 | GNUNET_SCHEDULER_add_continuation (h->sched, | 682 | GNUNET_SCHEDULER_add_continuation (h->sched, |
@@ -804,9 +818,10 @@ try_connect_using_address (void *cls, | |||
804 | } | 818 | } |
805 | #if DEBUG_CONNECTION | 819 | #if DEBUG_CONNECTION |
806 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 820 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
807 | _("Trying to connect to `%s'\n"), | 821 | _("Trying to connect to `%s' (%p)\n"), |
808 | GNUNET_a2s(ap->addr, | 822 | GNUNET_a2s(ap->addr, |
809 | ap->addrlen)); | 823 | ap->addrlen), |
824 | h); | ||
810 | #endif | 825 | #endif |
811 | if ( (GNUNET_OK != GNUNET_NETWORK_socket_connect (ap->sock, | 826 | if ( (GNUNET_OK != GNUNET_NETWORK_socket_connect (ap->sock, |
812 | ap->addr, | 827 | ap->addr, |
@@ -938,11 +953,6 @@ GNUNET_CONNECTION_create_from_sockaddr (struct GNUNET_SCHEDULER_Handle | |||
938 | GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_close (s)); | 953 | GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_close (s)); |
939 | return NULL; | 954 | return NULL; |
940 | } | 955 | } |
941 | #if DEBUG_CONNECTION | ||
942 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | ||
943 | _("Trying to connect to `%s'\n"), | ||
944 | GNUNET_a2s(serv_addr, addrlen)); | ||
945 | #endif | ||
946 | if ((GNUNET_OK != GNUNET_NETWORK_socket_connect (s, serv_addr, addrlen)) && (errno != EINPROGRESS)) | 956 | if ((GNUNET_OK != GNUNET_NETWORK_socket_connect (s, serv_addr, addrlen)) && (errno != EINPROGRESS)) |
947 | { | 957 | { |
948 | /* maybe refused / unsupported address, try next */ | 958 | /* maybe refused / unsupported address, try next */ |
@@ -954,6 +964,12 @@ GNUNET_CONNECTION_create_from_sockaddr (struct GNUNET_SCHEDULER_Handle | |||
954 | ret->addr = GNUNET_malloc (addrlen); | 964 | ret->addr = GNUNET_malloc (addrlen); |
955 | memcpy (ret->addr, serv_addr, addrlen); | 965 | memcpy (ret->addr, serv_addr, addrlen); |
956 | ret->addrlen = addrlen; | 966 | ret->addrlen = addrlen; |
967 | #if DEBUG_CONNECTION | ||
968 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | ||
969 | _("Trying to connect to `%s' (%p)\n"), | ||
970 | GNUNET_a2s(serv_addr, addrlen), | ||
971 | ret); | ||
972 | #endif | ||
957 | return ret; | 973 | return ret; |
958 | } | 974 | } |
959 | 975 | ||
@@ -1012,7 +1028,8 @@ signal_timeout (struct GNUNET_CONNECTION_Handle *sh) | |||
1012 | 1028 | ||
1013 | #if DEBUG_CONNECTION | 1029 | #if DEBUG_CONNECTION |
1014 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1030 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1015 | "Network signals time out to receiver!\n"); | 1031 | "Network signals time out to receiver (%p)!\n", |
1032 | sh); | ||
1016 | #endif | 1033 | #endif |
1017 | GNUNET_assert (NULL != (receiver = sh->receiver)); | 1034 | GNUNET_assert (NULL != (receiver = sh->receiver)); |
1018 | sh->receiver = NULL; | 1035 | sh->receiver = NULL; |
@@ -1055,9 +1072,10 @@ receive_ready (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
1055 | #if DEBUG_CONNECTION | 1072 | #if DEBUG_CONNECTION |
1056 | if (0 == (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) | 1073 | if (0 == (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) |
1057 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1074 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1058 | "Receive from `%s' encounters error: time out by %llums...\n", | 1075 | "Receive from `%s' encounters error: time out by %llums... (%p)\n", |
1059 | GNUNET_a2s (sh->addr, sh->addrlen), | 1076 | GNUNET_a2s (sh->addr, sh->addrlen), |
1060 | GNUNET_TIME_absolute_get_duration (sh->receive_timeout).value); | 1077 | GNUNET_TIME_absolute_get_duration (sh->receive_timeout).value, |
1078 | sh); | ||
1061 | #endif | 1079 | #endif |
1062 | signal_timeout (sh); | 1080 | signal_timeout (sh); |
1063 | return; | 1081 | return; |
@@ -1067,7 +1085,8 @@ receive_ready (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
1067 | /* connect failed for good */ | 1085 | /* connect failed for good */ |
1068 | #if DEBUG_CONNECTION | 1086 | #if DEBUG_CONNECTION |
1069 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1087 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1070 | "Receive encounters error, socket closed...\n"); | 1088 | "Receive encounters error, socket closed... (%p)\n", |
1089 | sh); | ||
1071 | #endif | 1090 | #endif |
1072 | signal_error (sh, ECONNREFUSED); | 1091 | signal_error (sh, ECONNREFUSED); |
1073 | return; | 1092 | return; |
@@ -1088,17 +1107,19 @@ RETRY: | |||
1088 | goto RETRY; | 1107 | goto RETRY; |
1089 | #if DEBUG_CONNECTION | 1108 | #if DEBUG_CONNECTION |
1090 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1109 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1091 | "Error receiving: %s\n", STRERROR (errno)); | 1110 | "Error receiving: %s\n", |
1111 | STRERROR (errno)); | ||
1092 | #endif | 1112 | #endif |
1093 | signal_error (sh, errno); | 1113 | signal_error (sh, errno); |
1094 | return; | 1114 | return; |
1095 | } | 1115 | } |
1096 | #if DEBUG_CONNECTION | 1116 | #if DEBUG_CONNECTION |
1097 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1117 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1098 | "receive_ready read %u/%u bytes from `%s'!\n", | 1118 | "receive_ready read %u/%u bytes from `%s' (%p)!\n", |
1099 | (unsigned int) ret, | 1119 | (unsigned int) ret, |
1100 | sh->max, | 1120 | sh->max, |
1101 | GNUNET_a2s(sh->addr, sh->addrlen)); | 1121 | GNUNET_a2s(sh->addr, sh->addrlen), |
1122 | sh); | ||
1102 | #endif | 1123 | #endif |
1103 | GNUNET_assert (NULL != (receiver = sh->receiver)); | 1124 | GNUNET_assert (NULL != (receiver = sh->receiver)); |
1104 | sh->receiver = NULL; | 1125 | sh->receiver = NULL; |
@@ -1128,7 +1149,8 @@ receive_again (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
1128 | /* not connected and no longer trying */ | 1149 | /* not connected and no longer trying */ |
1129 | #if DEBUG_CONNECTION | 1150 | #if DEBUG_CONNECTION |
1130 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1151 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1131 | "Receive encounters error, socket closed...\n"); | 1152 | "Receive encounters error, socket closed (%p)...\n", |
1153 | sh); | ||
1132 | #endif | 1154 | #endif |
1133 | signal_error (sh, ECONNREFUSED); | 1155 | signal_error (sh, ECONNREFUSED); |
1134 | return; | 1156 | return; |
@@ -1139,7 +1161,8 @@ receive_again (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
1139 | { | 1161 | { |
1140 | #if DEBUG_CONNECTION | 1162 | #if DEBUG_CONNECTION |
1141 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1163 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1142 | "Receive encounters error: time out...\n"); | 1164 | "Receive encounters error: time out (%p)...\n", |
1165 | sh); | ||
1143 | #endif | 1166 | #endif |
1144 | signal_timeout (sh); | 1167 | signal_timeout (sh); |
1145 | return; | 1168 | return; |
@@ -1290,15 +1313,17 @@ transmit_timeout (void *cls, | |||
1290 | 1313 | ||
1291 | #if DEBUG_CONNECTION | 1314 | #if DEBUG_CONNECTION |
1292 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1315 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1293 | "transmit_timeout running\n"); | 1316 | "transmit_timeout running (%p)\n", |
1317 | sock); | ||
1294 | #endif | 1318 | #endif |
1295 | sock->nth.timeout_task = GNUNET_SCHEDULER_NO_TASK; | 1319 | sock->nth.timeout_task = GNUNET_SCHEDULER_NO_TASK; |
1296 | #if DEBUG_CONNECTION | 1320 | #if DEBUG_CONNECTION |
1297 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1321 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1298 | "Transmit to `%s:%u/%s' fails, time out reached.\n", | 1322 | "Transmit to `%s:%u/%s' fails, time out reached (%p).\n", |
1299 | sock->hostname, | 1323 | sock->hostname, |
1300 | sock->port, | 1324 | sock->port, |
1301 | GNUNET_a2s (sock->addr, sock->addrlen)); | 1325 | GNUNET_a2s (sock->addr, sock->addrlen), |
1326 | sock); | ||
1302 | #endif | 1327 | #endif |
1303 | GNUNET_assert (0 != (sock->ccs & COCO_TRANSMIT_READY)); | 1328 | GNUNET_assert (0 != (sock->ccs & COCO_TRANSMIT_READY)); |
1304 | sock->ccs -= COCO_TRANSMIT_READY; /* remove request */ | 1329 | sock->ccs -= COCO_TRANSMIT_READY; /* remove request */ |
@@ -1339,7 +1364,8 @@ transmit_ready (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
1339 | 1364 | ||
1340 | #if DEBUG_CONNECTION | 1365 | #if DEBUG_CONNECTION |
1341 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1366 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1342 | "transmit_ready running.\n"); | 1367 | "transmit_ready running (%p).\n", |
1368 | sock); | ||
1343 | #endif | 1369 | #endif |
1344 | GNUNET_assert (sock->write_task != GNUNET_SCHEDULER_NO_TASK); | 1370 | GNUNET_assert (sock->write_task != GNUNET_SCHEDULER_NO_TASK); |
1345 | sock->write_task = GNUNET_SCHEDULER_NO_TASK; | 1371 | sock->write_task = GNUNET_SCHEDULER_NO_TASK; |
@@ -1348,8 +1374,9 @@ transmit_ready (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
1348 | { | 1374 | { |
1349 | #if DEBUG_CONNECTION | 1375 | #if DEBUG_CONNECTION |
1350 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1376 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1351 | "Transmit to `%s' fails, time out reached.\n", | 1377 | "Transmit to `%s' fails, time out reached (%p).\n", |
1352 | GNUNET_a2s (sock->addr, sock->addrlen)); | 1378 | GNUNET_a2s (sock->addr, sock->addrlen), |
1379 | sock); | ||
1353 | #endif | 1380 | #endif |
1354 | notify = sock->nth.notify_ready; | 1381 | notify = sock->nth.notify_ready; |
1355 | sock->nth.notify_ready = NULL; | 1382 | sock->nth.notify_ready = NULL; |
@@ -1362,7 +1389,8 @@ transmit_ready (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
1362 | { | 1389 | { |
1363 | #if DEBUG_CONNECTION | 1390 | #if DEBUG_CONNECTION |
1364 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 1391 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
1365 | _("Could not satisfy pending transmission request, socket closed or connect failed.\n")); | 1392 | _("Could not satisfy pending transmission request, socket closed or connect failed (%p).\n"), |
1393 | sock); | ||
1366 | #endif | 1394 | #endif |
1367 | if (NULL != sock->sock) | 1395 | if (NULL != sock->sock) |
1368 | { | 1396 | { |
@@ -1414,10 +1442,11 @@ RETRY: | |||
1414 | } | 1442 | } |
1415 | #if DEBUG_CONNECTION | 1443 | #if DEBUG_CONNECTION |
1416 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1444 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1417 | "transmit_ready transmitted %u/%u bytes to `%s'\n", | 1445 | "transmit_ready transmitted %u/%u bytes to `%s' (%p)\n", |
1418 | (unsigned int) ret, | 1446 | (unsigned int) ret, |
1419 | have, | 1447 | have, |
1420 | GNUNET_a2s(sock->addr, sock->addrlen)); | 1448 | GNUNET_a2s(sock->addr, sock->addrlen), |
1449 | sock); | ||
1421 | #endif | 1450 | #endif |
1422 | sock->write_buffer_pos += ret; | 1451 | sock->write_buffer_pos += ret; |
1423 | if (sock->write_buffer_pos == sock->write_buffer_off) | 1452 | if (sock->write_buffer_pos == sock->write_buffer_off) |
@@ -1433,7 +1462,8 @@ RETRY: | |||
1433 | SCHEDULE_WRITE: | 1462 | SCHEDULE_WRITE: |
1434 | #if DEBUG_CONNECTION | 1463 | #if DEBUG_CONNECTION |
1435 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1464 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1436 | "Re-scheduling transmit_ready (more to do).\n"); | 1465 | "Re-scheduling transmit_ready (more to do) (%p).\n", |
1466 | sock); | ||
1437 | #endif | 1467 | #endif |
1438 | if (sock->write_task == GNUNET_SCHEDULER_NO_TASK) | 1468 | if (sock->write_task == GNUNET_SCHEDULER_NO_TASK) |
1439 | sock->write_task = | 1469 | sock->write_task = |
@@ -1479,8 +1509,9 @@ GNUNET_CONNECTION_notify_transmit_ready (struct GNUNET_CONNECTION_Handle | |||
1479 | { | 1509 | { |
1480 | #if DEBUG_CONNECTION | 1510 | #if DEBUG_CONNECTION |
1481 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1511 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1482 | "Transmission request of size %u fails, connection failed.\n", | 1512 | "Transmission request of size %u fails, connection failed (%p).\n", |
1483 | size); | 1513 | size, |
1514 | sock); | ||
1484 | #endif | 1515 | #endif |
1485 | notify (notify_cls, 0, NULL); | 1516 | notify (notify_cls, 0, NULL); |
1486 | return &sock->nth; | 1517 | return &sock->nth; |
@@ -1499,7 +1530,8 @@ GNUNET_CONNECTION_notify_transmit_ready (struct GNUNET_CONNECTION_Handle | |||
1499 | { | 1530 | { |
1500 | #if DEBUG_CONNECTION | 1531 | #if DEBUG_CONNECTION |
1501 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1532 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1502 | "Scheduling transmit_ready.\n"); | 1533 | "Scheduling transmit_ready (%p).\n", |
1534 | sock); | ||
1503 | #endif | 1535 | #endif |
1504 | sock->write_task = GNUNET_SCHEDULER_add_write_net (sock->sched, | 1536 | sock->write_task = GNUNET_SCHEDULER_add_write_net (sock->sched, |
1505 | GNUNET_NO, | 1537 | GNUNET_NO, |
@@ -1513,7 +1545,8 @@ GNUNET_CONNECTION_notify_transmit_ready (struct GNUNET_CONNECTION_Handle | |||
1513 | { | 1545 | { |
1514 | #if DEBUG_CONNECTION | 1546 | #if DEBUG_CONNECTION |
1515 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1547 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1516 | "CCS-Scheduling transmit_ready, adding timeout task.\n"); | 1548 | "CCS-Scheduling transmit_ready, adding timeout task (%p).\n", |
1549 | sock); | ||
1517 | #endif | 1550 | #endif |
1518 | sock->ccs |= COCO_TRANSMIT_READY; | 1551 | sock->ccs |= COCO_TRANSMIT_READY; |
1519 | sock->nth.timeout_task = GNUNET_SCHEDULER_add_delayed (sock->sched, | 1552 | sock->nth.timeout_task = GNUNET_SCHEDULER_add_delayed (sock->sched, |
diff --git a/src/util/scheduler.c b/src/util/scheduler.c index f7f5759b7..08bba2ed8 100644 --- a/src/util/scheduler.c +++ b/src/util/scheduler.c | |||
@@ -374,9 +374,10 @@ check_ready (struct GNUNET_SCHEDULER_Handle *handle, | |||
374 | while (pos != NULL) | 374 | while (pos != NULL) |
375 | { | 375 | { |
376 | #if DEBUG_TASKS | 376 | #if DEBUG_TASKS |
377 | fprintf (stderr, | 377 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
378 | "Checking readyness of task: %llu\n", | 378 | "Checking readyness of task: %llu / %p\n", |
379 | pos->id); | 379 | pos->id, |
380 | pos->callback_cls); | ||
380 | #endif | 381 | #endif |
381 | next = pos->next; | 382 | next = pos->next; |
382 | if (GNUNET_YES == is_ready (handle, pos, now, rs, ws)) | 383 | if (GNUNET_YES == is_ready (handle, pos, now, rs, ws)) |
@@ -450,9 +451,10 @@ run_ready (struct GNUNET_SCHEDULER_Handle *sched) | |||
450 | tc.write_ready = pos->write_set; | 451 | tc.write_ready = pos->write_set; |
451 | pos->callback (pos->callback_cls, &tc); | 452 | pos->callback (pos->callback_cls, &tc); |
452 | #if DEBUG_TASKS | 453 | #if DEBUG_TASKS |
453 | fprintf (stderr, | 454 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
454 | "Running task: %llu\n", | 455 | "Running task: %llu / %p\n", |
455 | pos->id); | 456 | pos->id, |
457 | pos->callback_cls); | ||
456 | #endif | 458 | #endif |
457 | destroy_task (pos); | 459 | destroy_task (pos); |
458 | sched->tasks_run++; | 460 | sched->tasks_run++; |
@@ -648,11 +650,6 @@ GNUNET_SCHEDULER_cancel (struct GNUNET_SCHEDULER_Handle *sched, | |||
648 | enum GNUNET_SCHEDULER_Priority p; | 650 | enum GNUNET_SCHEDULER_Priority p; |
649 | void *ret; | 651 | void *ret; |
650 | 652 | ||
651 | #if DEBUG_TASKS | ||
652 | fprintf (stderr, | ||
653 | "Canceling task: %llu\n", | ||
654 | task); | ||
655 | #endif | ||
656 | prev = NULL; | 653 | prev = NULL; |
657 | t = sched->pending; | 654 | t = sched->pending; |
658 | while (t != NULL) | 655 | while (t != NULL) |
@@ -690,13 +687,16 @@ GNUNET_SCHEDULER_cancel (struct GNUNET_SCHEDULER_Handle *sched, | |||
690 | else | 687 | else |
691 | prev->next = t->next; | 688 | prev->next = t->next; |
692 | ret = t->callback_cls; | 689 | ret = t->callback_cls; |
690 | #if DEBUG_TASKS | ||
691 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
692 | "Canceling task: %llu / %p\n", | ||
693 | task, | ||
694 | t->callback_cls); | ||
695 | #endif | ||
693 | destroy_task (t); | 696 | destroy_task (t); |
694 | return ret; | 697 | return ret; |
695 | } | 698 | } |
696 | 699 | ||
697 | #if DEBUG_TASKS | ||
698 | #include <execinfo.h> | ||
699 | #endif | ||
700 | 700 | ||
701 | /** | 701 | /** |
702 | * Continue the current execution with the given function. This is | 702 | * Continue the current execution with the given function. This is |
@@ -726,13 +726,10 @@ GNUNET_SCHEDULER_add_continuation (struct GNUNET_SCHEDULER_Handle *sched, | |||
726 | task->priority = sched->current_priority; | 726 | task->priority = sched->current_priority; |
727 | task->run_on_shutdown = run_on_shutdown; | 727 | task->run_on_shutdown = run_on_shutdown; |
728 | #if DEBUG_TASKS | 728 | #if DEBUG_TASKS |
729 | { | 729 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
730 | void *ptrs[20]; | 730 | "Adding continuation task: %llu / %p\n", |
731 | fprintf (stderr, | 731 | task->id, |
732 | "Adding continuation task: %llu\n", | 732 | task->callback_cls); |
733 | task->id); | ||
734 | backtrace_symbols_fd (ptrs, backtrace (ptrs, 20), 2); | ||
735 | } | ||
736 | #endif | 733 | #endif |
737 | queue_ready_task (sched, task); | 734 | queue_ready_task (sched, task); |
738 | } | 735 | } |
@@ -971,13 +968,10 @@ GNUNET_SCHEDULER_add_select (struct GNUNET_SCHEDULER_Handle * sched, | |||
971 | task->next = sched->pending; | 968 | task->next = sched->pending; |
972 | sched->pending = task; | 969 | sched->pending = task; |
973 | #if DEBUG_TASKS | 970 | #if DEBUG_TASKS |
974 | { | 971 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
975 | void *ptrs[20]; | 972 | "Adding task: %llu / %p\n", |
976 | fprintf (stderr, | 973 | task->id, |
977 | "Adding task: %llu\n", | 974 | task->callback_cls); |
978 | task->id); | ||
979 | backtrace_symbols_fd (ptrs, backtrace (ptrs, 20), 2); | ||
980 | } | ||
981 | #endif | 975 | #endif |
982 | return task->id; | 976 | return task->id; |
983 | } | 977 | } |