diff options
author | Christian Grothoff <christian@grothoff.org> | 2016-04-30 08:17:37 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2016-04-30 08:17:37 +0000 |
commit | 95f9076a2139f5fb042b944a0658b6cda2fa35db (patch) | |
tree | b0826a2a1dcf812e6b4450fe6b05d47cd53ae49d /src/gns | |
parent | 7746f68db77b9ca3c4aaca24ab2ce5253461240b (diff) | |
download | gnunet-95f9076a2139f5fb042b944a0658b6cda2fa35db.tar.gz gnunet-95f9076a2139f5fb042b944a0658b6cda2fa35db.zip |
implementing new scheduler shutdown semantics
Diffstat (limited to 'src/gns')
-rw-r--r-- | src/gns/gns_api.c | 7 | ||||
-rw-r--r-- | src/gns/gnunet-bcd.c | 21 | ||||
-rw-r--r-- | src/gns/gnunet-dns2gns.c | 96 | ||||
-rw-r--r-- | src/gns/gnunet-gns-helper-service-w32.c | 4 | ||||
-rw-r--r-- | src/gns/gnunet-gns-import.c | 3 | ||||
-rw-r--r-- | src/gns/gnunet-gns-proxy.c | 7 | ||||
-rw-r--r-- | src/gns/gnunet-gns.c | 32 | ||||
-rw-r--r-- | src/gns/gnunet-service-gns.c | 3 | ||||
-rw-r--r-- | src/gns/plugin_rest_gns.c | 6 | ||||
-rw-r--r-- | src/gns/test_gns_proxy.c | 17 |
10 files changed, 112 insertions, 84 deletions
diff --git a/src/gns/gns_api.c b/src/gns/gns_api.c index 6696158c9..a1fe3680a 100644 --- a/src/gns/gns_api.c +++ b/src/gns/gns_api.c | |||
@@ -239,9 +239,10 @@ force_reconnect (struct GNUNET_GNS_Handle *handle) | |||
239 | p); | 239 | p); |
240 | } | 240 | } |
241 | handle->reconnect_backoff = GNUNET_TIME_STD_BACKOFF (handle->reconnect_backoff); | 241 | handle->reconnect_backoff = GNUNET_TIME_STD_BACKOFF (handle->reconnect_backoff); |
242 | handle->reconnect_task = GNUNET_SCHEDULER_add_delayed (handle->reconnect_backoff, | 242 | handle->reconnect_task |
243 | &reconnect_task, | 243 | = GNUNET_SCHEDULER_add_delayed (handle->reconnect_backoff, |
244 | handle); | 244 | &reconnect_task, |
245 | handle); | ||
245 | } | 246 | } |
246 | 247 | ||
247 | 248 | ||
diff --git a/src/gns/gnunet-bcd.c b/src/gns/gnunet-bcd.c index e7be8fd84..284804175 100644 --- a/src/gns/gnunet-bcd.c +++ b/src/gns/gnunet-bcd.c | |||
@@ -90,10 +90,14 @@ struct Entry | |||
90 | * Main request handler. | 90 | * Main request handler. |
91 | */ | 91 | */ |
92 | static int | 92 | static int |
93 | access_handler_callback (void *cls, struct MHD_Connection *connection, | 93 | access_handler_callback (void *cls, |
94 | const char *url, const char *method, | 94 | struct MHD_Connection *connection, |
95 | const char *version, const char *upload_data, | 95 | const char *url, |
96 | size_t * upload_data_size, void **con_cls) | 96 | const char *method, |
97 | const char *version, | ||
98 | const char *upload_data, | ||
99 | size_t * upload_data_size, | ||
100 | void **con_cls) | ||
97 | { | 101 | { |
98 | static int dummy; | 102 | static int dummy; |
99 | static const struct Entry map[] = { | 103 | static const struct Entry map[] = { |
@@ -290,12 +294,8 @@ static void | |||
290 | run_daemon (void *cls) | 294 | run_daemon (void *cls) |
291 | { | 295 | { |
292 | struct MHD_Daemon *daemon_handle = cls; | 296 | struct MHD_Daemon *daemon_handle = cls; |
293 | const struct GNUNET_SCHEDULER_TaskContext *tc; | ||
294 | 297 | ||
295 | http_task = NULL; | 298 | http_task = NULL; |
296 | tc = GNUNET_SCHEDULER_get_task_context (); | ||
297 | if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) | ||
298 | return; | ||
299 | GNUNET_assert (MHD_YES == MHD_run (daemon_handle)); | 299 | GNUNET_assert (MHD_YES == MHD_run (daemon_handle)); |
300 | http_task = prepare_daemon (daemon_handle); | 300 | http_task = prepare_daemon (daemon_handle); |
301 | } | 301 | } |
@@ -499,9 +499,8 @@ run (void *cls, | |||
499 | if (GNUNET_OK != | 499 | if (GNUNET_OK != |
500 | server_start ()) | 500 | server_start ()) |
501 | return; | 501 | return; |
502 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, | 502 | GNUNET_SCHEDULER_add_shutdown (&server_stop, |
503 | &server_stop, | 503 | NULL); |
504 | NULL); | ||
505 | } | 504 | } |
506 | 505 | ||
507 | 506 | ||
diff --git a/src/gns/gnunet-dns2gns.c b/src/gns/gnunet-dns2gns.c index 119bda91a..df3b4e882 100644 --- a/src/gns/gnunet-dns2gns.c +++ b/src/gns/gnunet-dns2gns.c | |||
@@ -175,9 +175,15 @@ static void | |||
175 | do_shutdown (void *cls) | 175 | do_shutdown (void *cls) |
176 | { | 176 | { |
177 | if (NULL != t4) | 177 | if (NULL != t4) |
178 | { | ||
178 | GNUNET_SCHEDULER_cancel (t4); | 179 | GNUNET_SCHEDULER_cancel (t4); |
180 | t4 = NULL; | ||
181 | } | ||
179 | if (NULL != t6) | 182 | if (NULL != t6) |
183 | { | ||
180 | GNUNET_SCHEDULER_cancel (t6); | 184 | GNUNET_SCHEDULER_cancel (t6); |
185 | t6 = NULL; | ||
186 | } | ||
181 | if (NULL != listen_socket4) | 187 | if (NULL != listen_socket4) |
182 | { | 188 | { |
183 | GNUNET_NETWORK_socket_close (listen_socket4); | 189 | GNUNET_NETWORK_socket_close (listen_socket4); |
@@ -607,57 +613,57 @@ run_dnsd () | |||
607 | SOCK_DGRAM, | 613 | SOCK_DGRAM, |
608 | IPPROTO_UDP); | 614 | IPPROTO_UDP); |
609 | if (NULL != listen_socket4) | 615 | if (NULL != listen_socket4) |
610 | { | 616 | { |
611 | struct sockaddr_in v4; | 617 | struct sockaddr_in v4; |
612 | 618 | ||
613 | memset (&v4, 0, sizeof (v4)); | 619 | memset (&v4, 0, sizeof (v4)); |
614 | v4.sin_family = AF_INET; | 620 | v4.sin_family = AF_INET; |
615 | #if HAVE_SOCKADDR_IN_SIN_LEN | 621 | #if HAVE_SOCKADDR_IN_SIN_LEN |
616 | v4.sin_len = sizeof (v4); | 622 | v4.sin_len = sizeof (v4); |
617 | #endif | 623 | #endif |
618 | v4.sin_port = htons (listen_port); | 624 | v4.sin_port = htons (listen_port); |
619 | if (GNUNET_OK != | 625 | if (GNUNET_OK != |
620 | GNUNET_NETWORK_socket_bind (listen_socket4, | 626 | GNUNET_NETWORK_socket_bind (listen_socket4, |
621 | (struct sockaddr *) &v4, | 627 | (struct sockaddr *) &v4, |
622 | sizeof (v4))) | 628 | sizeof (v4))) |
623 | { | 629 | { |
624 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "bind"); | 630 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "bind"); |
625 | GNUNET_NETWORK_socket_close (listen_socket4); | 631 | GNUNET_NETWORK_socket_close (listen_socket4); |
626 | listen_socket4 = NULL; | 632 | listen_socket4 = NULL; |
627 | } | ||
628 | } | 633 | } |
634 | } | ||
629 | listen_socket6 = GNUNET_NETWORK_socket_create (PF_INET6, | 635 | listen_socket6 = GNUNET_NETWORK_socket_create (PF_INET6, |
630 | SOCK_DGRAM, | 636 | SOCK_DGRAM, |
631 | IPPROTO_UDP); | 637 | IPPROTO_UDP); |
632 | if (NULL != listen_socket6) | 638 | if (NULL != listen_socket6) |
633 | { | 639 | { |
634 | struct sockaddr_in6 v6; | 640 | struct sockaddr_in6 v6; |
635 | 641 | ||
636 | memset (&v6, 0, sizeof (v6)); | 642 | memset (&v6, 0, sizeof (v6)); |
637 | v6.sin6_family = AF_INET6; | 643 | v6.sin6_family = AF_INET6; |
638 | #if HAVE_SOCKADDR_IN_SIN_LEN | 644 | #if HAVE_SOCKADDR_IN_SIN_LEN |
639 | v6.sin6_len = sizeof (v6); | 645 | v6.sin6_len = sizeof (v6); |
640 | #endif | 646 | #endif |
641 | v6.sin6_port = htons (listen_port); | 647 | v6.sin6_port = htons (listen_port); |
642 | if (GNUNET_OK != | 648 | if (GNUNET_OK != |
643 | GNUNET_NETWORK_socket_bind (listen_socket6, | 649 | GNUNET_NETWORK_socket_bind (listen_socket6, |
644 | (struct sockaddr *) &v6, | 650 | (struct sockaddr *) &v6, |
645 | sizeof (v6))) | 651 | sizeof (v6))) |
646 | { | 652 | { |
647 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "bind"); | 653 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "bind"); |
648 | GNUNET_NETWORK_socket_close (listen_socket6); | 654 | GNUNET_NETWORK_socket_close (listen_socket6); |
649 | listen_socket6 = NULL; | 655 | listen_socket6 = NULL; |
650 | } | ||
651 | } | 656 | } |
657 | } | ||
652 | if ( (NULL == listen_socket4) && | 658 | if ( (NULL == listen_socket4) && |
653 | (NULL == listen_socket6) ) | 659 | (NULL == listen_socket6) ) |
654 | { | 660 | { |
655 | GNUNET_GNS_disconnect (gns); | 661 | GNUNET_GNS_disconnect (gns); |
656 | gns = NULL; | 662 | gns = NULL; |
657 | GNUNET_DNSSTUB_stop (dns_stub); | 663 | GNUNET_DNSSTUB_stop (dns_stub); |
658 | dns_stub = NULL; | 664 | dns_stub = NULL; |
659 | return; | 665 | return; |
660 | } | 666 | } |
661 | if (NULL != listen_socket4) | 667 | if (NULL != listen_socket4) |
662 | t4 = GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_UNIT_FOREVER_REL, | 668 | t4 = GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_UNIT_FOREVER_REL, |
663 | listen_socket4, | 669 | listen_socket4, |
@@ -668,7 +674,6 @@ run_dnsd () | |||
668 | listen_socket6, | 674 | listen_socket6, |
669 | &read_dns6, | 675 | &read_dns6, |
670 | listen_socket6); | 676 | listen_socket6); |
671 | |||
672 | } | 677 | } |
673 | 678 | ||
674 | 679 | ||
@@ -719,7 +724,9 @@ identity_cb (void *cls, | |||
719 | * @param c configuration | 724 | * @param c configuration |
720 | */ | 725 | */ |
721 | static void | 726 | static void |
722 | run (void *cls, char *const *args, const char *cfgfile, | 727 | run (void *cls, |
728 | char *const *args, | ||
729 | const char *cfgfile, | ||
723 | const struct GNUNET_CONFIGURATION_Handle *c) | 730 | const struct GNUNET_CONFIGURATION_Handle *c) |
724 | { | 731 | { |
725 | cfg = c; | 732 | cfg = c; |
@@ -730,8 +737,7 @@ run (void *cls, char *const *args, const char *cfgfile, | |||
730 | _("No DNS server specified!\n")); | 737 | _("No DNS server specified!\n")); |
731 | return; | 738 | return; |
732 | } | 739 | } |
733 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, | 740 | GNUNET_SCHEDULER_add_shutdown (&do_shutdown, NULL); |
734 | &do_shutdown, NULL); | ||
735 | if (NULL == gns_zone_str) | 741 | if (NULL == gns_zone_str) |
736 | { | 742 | { |
737 | identity = GNUNET_IDENTITY_connect (cfg, | 743 | identity = GNUNET_IDENTITY_connect (cfg, |
@@ -745,8 +751,8 @@ run (void *cls, char *const *args, const char *cfgfile, | |||
745 | if ( (NULL == gns_zone_str) || | 751 | if ( (NULL == gns_zone_str) || |
746 | (GNUNET_OK != | 752 | (GNUNET_OK != |
747 | GNUNET_CRYPTO_ecdsa_public_key_from_string (gns_zone_str, | 753 | GNUNET_CRYPTO_ecdsa_public_key_from_string (gns_zone_str, |
748 | strlen (gns_zone_str), | 754 | strlen (gns_zone_str), |
749 | &my_zone)) ) | 755 | &my_zone)) ) |
750 | { | 756 | { |
751 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 757 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
752 | _("No valid GNS zone specified!\n")); | 758 | _("No valid GNS zone specified!\n")); |
diff --git a/src/gns/gnunet-gns-helper-service-w32.c b/src/gns/gnunet-gns-helper-service-w32.c index 112bcd258..c9c9e3fec 100644 --- a/src/gns/gnunet-gns-helper-service-w32.c +++ b/src/gns/gnunet-gns-helper-service-w32.c | |||
@@ -827,8 +827,8 @@ run (void *cls, struct GNUNET_SERVER_Handle *server, | |||
827 | GNUNET_SCHEDULER_shutdown (); | 827 | GNUNET_SCHEDULER_shutdown (); |
828 | return; | 828 | return; |
829 | } | 829 | } |
830 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &do_shutdown, | 830 | GNUNET_SCHEDULER_add_shutdown (&do_shutdown, |
831 | NULL); | 831 | NULL); |
832 | 832 | ||
833 | identity = GNUNET_IDENTITY_connect (cfg, NULL, NULL); | 833 | identity = GNUNET_IDENTITY_connect (cfg, NULL, NULL); |
834 | if (NULL == identity) | 834 | if (NULL == identity) |
diff --git a/src/gns/gnunet-gns-import.c b/src/gns/gnunet-gns-import.c index 5f94e7792..e98babfa8 100644 --- a/src/gns/gnunet-gns-import.c +++ b/src/gns/gnunet-gns-import.c | |||
@@ -454,8 +454,7 @@ run (void *cls, char *const *args, const char *cfgfile, | |||
454 | 454 | ||
455 | ns = GNUNET_NAMESTORE_connect (cfg); | 455 | ns = GNUNET_NAMESTORE_connect (cfg); |
456 | sh = GNUNET_IDENTITY_connect (cfg, &get_ego, NULL); | 456 | sh = GNUNET_IDENTITY_connect (cfg, &get_ego, NULL); |
457 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, | 457 | GNUNET_SCHEDULER_add_shutdown (&shutdown_task, NULL); |
458 | &shutdown_task, NULL); | ||
459 | } | 458 | } |
460 | 459 | ||
461 | 460 | ||
diff --git a/src/gns/gnunet-gns-proxy.c b/src/gns/gnunet-gns-proxy.c index 9a34c83af..6793d6f5c 100644 --- a/src/gns/gnunet-gns-proxy.c +++ b/src/gns/gnunet-gns-proxy.c | |||
@@ -2713,15 +2713,11 @@ do_accept (void *cls) | |||
2713 | struct GNUNET_NETWORK_Handle *lsock = cls; | 2713 | struct GNUNET_NETWORK_Handle *lsock = cls; |
2714 | struct GNUNET_NETWORK_Handle *s; | 2714 | struct GNUNET_NETWORK_Handle *s; |
2715 | struct Socks5Request *s5r; | 2715 | struct Socks5Request *s5r; |
2716 | const struct GNUNET_SCHEDULER_TaskContext *tc; | ||
2717 | 2716 | ||
2718 | if (lsock == lsock4) | 2717 | if (lsock == lsock4) |
2719 | ltask4 = NULL; | 2718 | ltask4 = NULL; |
2720 | else | 2719 | else |
2721 | ltask6 = NULL; | 2720 | ltask6 = NULL; |
2722 | tc = GNUNET_SCHEDULER_get_task_context (); | ||
2723 | if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) | ||
2724 | return; | ||
2725 | if (lsock == lsock4) | 2721 | if (lsock == lsock4) |
2726 | ltask4 = GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_UNIT_FOREVER_REL, | 2722 | ltask4 = GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_UNIT_FOREVER_REL, |
2727 | lsock, | 2723 | lsock, |
@@ -3126,8 +3122,7 @@ run (void *cls, char *const *args, const char *cfgfile, | |||
3126 | "gns-proxy", | 3122 | "gns-proxy", |
3127 | &identity_master_cb, | 3123 | &identity_master_cb, |
3128 | NULL); | 3124 | NULL); |
3129 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, | 3125 | GNUNET_SCHEDULER_add_shutdown (&do_shutdown, NULL); |
3130 | &do_shutdown, NULL); | ||
3131 | } | 3126 | } |
3132 | 3127 | ||
3133 | 3128 | ||
diff --git a/src/gns/gnunet-gns.c b/src/gns/gnunet-gns.c index c8310db46..62cec54cb 100644 --- a/src/gns/gnunet-gns.c +++ b/src/gns/gnunet-gns.c | |||
@@ -100,6 +100,11 @@ static struct GNUNET_IDENTITY_Handle *identity; | |||
100 | */ | 100 | */ |
101 | static struct GNUNET_IDENTITY_Operation *id_op; | 101 | static struct GNUNET_IDENTITY_Operation *id_op; |
102 | 102 | ||
103 | /** | ||
104 | * Task scheduled to handle timeout. | ||
105 | */ | ||
106 | static struct GNUNET_SCHEDULER_Task *tt; | ||
107 | |||
103 | 108 | ||
104 | /** | 109 | /** |
105 | * Task run on shutdown. Cleans up everything. | 110 | * Task run on shutdown. Cleans up everything. |
@@ -134,6 +139,24 @@ do_shutdown (void *cls) | |||
134 | GNUNET_GNS_disconnect (gns); | 139 | GNUNET_GNS_disconnect (gns); |
135 | gns = NULL; | 140 | gns = NULL; |
136 | } | 141 | } |
142 | if (NULL != tt) | ||
143 | { | ||
144 | GNUNET_SCHEDULER_cancel (tt); | ||
145 | tt = NULL; | ||
146 | } | ||
147 | } | ||
148 | |||
149 | |||
150 | /** | ||
151 | * Task run on timeout. Triggers shutdown. | ||
152 | * | ||
153 | * @param cls unused | ||
154 | */ | ||
155 | static void | ||
156 | do_timeout (void *cls) | ||
157 | { | ||
158 | tt = NULL; | ||
159 | GNUNET_SCHEDULER_shutdown (); | ||
137 | } | 160 | } |
138 | 161 | ||
139 | 162 | ||
@@ -376,7 +399,9 @@ identity_master_cb (void *cls, | |||
376 | * @param c configuration | 399 | * @param c configuration |
377 | */ | 400 | */ |
378 | static void | 401 | static void |
379 | run (void *cls, char *const *args, const char *cfgfile, | 402 | run (void *cls, |
403 | char *const *args, | ||
404 | const char *cfgfile, | ||
380 | const struct GNUNET_CONFIGURATION_Handle *c) | 405 | const struct GNUNET_CONFIGURATION_Handle *c) |
381 | { | 406 | { |
382 | struct GNUNET_CRYPTO_EcdsaPublicKey pkey; | 407 | struct GNUNET_CRYPTO_EcdsaPublicKey pkey; |
@@ -390,8 +415,9 @@ run (void *cls, char *const *args, const char *cfgfile, | |||
390 | _("Failed to connect to GNS\n")); | 415 | _("Failed to connect to GNS\n")); |
391 | return; | 416 | return; |
392 | } | 417 | } |
393 | GNUNET_SCHEDULER_add_delayed (timeout, | 418 | tt = GNUNET_SCHEDULER_add_delayed (timeout, |
394 | &do_shutdown, NULL); | 419 | &do_timeout, NULL); |
420 | GNUNET_SCHEDULER_add_shutdown (&do_shutdown, NULL); | ||
395 | if (NULL != public_key) | 421 | if (NULL != public_key) |
396 | { | 422 | { |
397 | if (GNUNET_OK != | 423 | if (GNUNET_OK != |
diff --git a/src/gns/gnunet-service-gns.c b/src/gns/gnunet-service-gns.c index 87b0fd04e..682d8f5f7 100644 --- a/src/gns/gnunet-service-gns.c +++ b/src/gns/gnunet-service-gns.c | |||
@@ -1010,8 +1010,7 @@ run (void *cls, | |||
1010 | &monitor_sync_event, | 1010 | &monitor_sync_event, |
1011 | NULL); | 1011 | NULL); |
1012 | GNUNET_break (NULL != zmon); | 1012 | GNUNET_break (NULL != zmon); |
1013 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, | 1013 | GNUNET_SCHEDULER_add_shutdown (&shutdown_task, NULL); |
1014 | &shutdown_task, NULL); | ||
1015 | } | 1014 | } |
1016 | 1015 | ||
1017 | 1016 | ||
diff --git a/src/gns/plugin_rest_gns.c b/src/gns/plugin_rest_gns.c index 8a3f26041..1315e6cda 100644 --- a/src/gns/plugin_rest_gns.c +++ b/src/gns/plugin_rest_gns.c | |||
@@ -632,9 +632,10 @@ options_cont (struct RestConnectionDataHandle *con_handle, | |||
632 | MHD_add_response_header (resp, | 632 | MHD_add_response_header (resp, |
633 | "Access-Control-Allow-Methods", | 633 | "Access-Control-Allow-Methods", |
634 | MHD_HTTP_METHOD_GET); | 634 | MHD_HTTP_METHOD_GET); |
635 | handle->proc (handle->proc_cls, resp, MHD_HTTP_OK); | 635 | handle->proc (handle->proc_cls, |
636 | resp, | ||
637 | MHD_HTTP_OK); | ||
636 | cleanup_handle (handle); | 638 | cleanup_handle (handle); |
637 | return; | ||
638 | } | 639 | } |
639 | 640 | ||
640 | 641 | ||
@@ -671,7 +672,6 @@ rest_gns_process_request(struct RestConnectionDataHandle *conndata_handle, | |||
671 | } | 672 | } |
672 | 673 | ||
673 | 674 | ||
674 | |||
675 | /** | 675 | /** |
676 | * Entry point for the plugin. | 676 | * Entry point for the plugin. |
677 | * | 677 | * |
diff --git a/src/gns/test_gns_proxy.c b/src/gns/test_gns_proxy.c index 0afc3ea0b..55ada84d7 100644 --- a/src/gns/test_gns_proxy.c +++ b/src/gns/test_gns_proxy.c | |||
@@ -245,6 +245,7 @@ curl_main () | |||
245 | NULL); | 245 | NULL); |
246 | } | 246 | } |
247 | 247 | ||
248 | |||
248 | static void | 249 | static void |
249 | start_curl (void *cls) | 250 | start_curl (void *cls) |
250 | { | 251 | { |
@@ -289,25 +290,27 @@ disco_ns (void* cls) | |||
289 | * specified target peer; NULL on error | 290 | * specified target peer; NULL on error |
290 | */ | 291 | */ |
291 | static void | 292 | static void |
292 | commence_testing (void *cls, int32_t success, const char *emsg) | 293 | commence_testing (void *cls, |
294 | int32_t success, | ||
295 | const char *emsg) | ||
293 | { | 296 | { |
294 | GNUNET_SCHEDULER_add_now (&disco_ns, NULL); | 297 | GNUNET_SCHEDULER_add_now (&disco_ns, NULL); |
295 | 298 | ||
296 | if ((emsg != NULL) && (GNUNET_YES != success)) | 299 | if ( (emsg != NULL) && (GNUNET_YES != success) ) |
297 | { | 300 | { |
298 | fprintf (stderr, | 301 | fprintf (stderr, |
299 | "NS failed to create record %s\n", emsg); | 302 | "NS failed to create record %s\n", |
303 | emsg); | ||
300 | GNUNET_SCHEDULER_shutdown (); | 304 | GNUNET_SCHEDULER_shutdown (); |
301 | return; | 305 | return; |
302 | } | 306 | } |
303 | 307 | ||
304 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 1), start_curl, NULL); | 308 | curl_task_id = |
305 | 309 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, | |
310 | &start_curl, NULL); | ||
306 | } | 311 | } |
307 | 312 | ||
308 | 313 | ||
309 | |||
310 | |||
311 | /** | 314 | /** |
312 | * Function to keep the HTTP server running. | 315 | * Function to keep the HTTP server running. |
313 | */ | 316 | */ |