aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2016-04-30 08:17:37 +0000
committerChristian Grothoff <christian@grothoff.org>2016-04-30 08:17:37 +0000
commit95f9076a2139f5fb042b944a0658b6cda2fa35db (patch)
treeb0826a2a1dcf812e6b4450fe6b05d47cd53ae49d /src/core
parent7746f68db77b9ca3c4aaca24ab2ce5253461240b (diff)
downloadgnunet-95f9076a2139f5fb042b944a0658b6cda2fa35db.tar.gz
gnunet-95f9076a2139f5fb042b944a0658b6cda2fa35db.zip
implementing new scheduler shutdown semantics
Diffstat (limited to 'src/core')
-rw-r--r--src/core/gnunet-core.c3
-rw-r--r--src/core/gnunet-service-core.c5
-rw-r--r--src/core/gnunet-service-core_kx.c7
-rw-r--r--src/core/test_core_api_mq.c30
-rw-r--r--src/core/test_core_quota_compliance.c13
5 files changed, 29 insertions, 29 deletions
diff --git a/src/core/gnunet-core.c b/src/core/gnunet-core.c
index 968072e22..d91dc304d 100644
--- a/src/core/gnunet-core.c
+++ b/src/core/gnunet-core.c
@@ -155,8 +155,7 @@ run (void *cls, char *const *args, const char *cfgfile,
155 _("Failed to connect to CORE service!\n")); 155 _("Failed to connect to CORE service!\n"));
156 return; 156 return;
157 } 157 }
158 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, 158 GNUNET_SCHEDULER_add_shutdown (&shutdown_task, NULL);
159 &shutdown_task, NULL);
160} 159}
161 160
162 161
diff --git a/src/core/gnunet-service-core.c b/src/core/gnunet-service-core.c
index 1d9de8666..70b83b24c 100644
--- a/src/core/gnunet-service-core.c
+++ b/src/core/gnunet-service-core.c
@@ -106,9 +106,8 @@ run (void *cls, struct GNUNET_SERVER_Handle *server,
106 return; 106 return;
107 } 107 }
108 GSC_stats = GNUNET_STATISTICS_create ("core", GSC_cfg); 108 GSC_stats = GNUNET_STATISTICS_create ("core", GSC_cfg);
109 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, 109 GNUNET_SCHEDULER_add_shutdown (&shutdown_task,
110 &shutdown_task, 110 NULL);
111 NULL);
112 GNUNET_SERVER_suspend (server); 111 GNUNET_SERVER_suspend (server);
113 GSC_TYPEMAP_init (); 112 GSC_TYPEMAP_init ();
114 pk = GNUNET_CRYPTO_eddsa_key_create_from_file (keyfile); 113 pk = GNUNET_CRYPTO_eddsa_key_create_from_file (keyfile);
diff --git a/src/core/gnunet-service-core_kx.c b/src/core/gnunet-service-core_kx.c
index 8250bcc6f..9bb5af100 100644
--- a/src/core/gnunet-service-core_kx.c
+++ b/src/core/gnunet-service-core_kx.c
@@ -745,9 +745,10 @@ GSC_KX_start (const struct GNUNET_PeerIdentity *pid)
745 { 745 {
746 /* peer with "higher" identity starts a delayed KX, if the "lower" peer 746 /* peer with "higher" identity starts a delayed KX, if the "lower" peer
747 * does not start a KX since he sees no reasons to do so */ 747 * does not start a KX since he sees no reasons to do so */
748 kx->retry_set_key_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, 748 kx->retry_set_key_task
749 &set_key_retry_task, 749 = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS,
750 kx); 750 &set_key_retry_task,
751 kx);
751 } 752 }
752 return kx; 753 return kx;
753} 754}
diff --git a/src/core/test_core_api_mq.c b/src/core/test_core_api_mq.c
index a82465e74..8ece78e58 100644
--- a/src/core/test_core_api_mq.c
+++ b/src/core/test_core_api_mq.c
@@ -29,15 +29,15 @@
29/** 29/**
30 * Has the test been successful? 30 * Has the test been successful?
31 */ 31 */
32int result; 32static int result;
33 33
34unsigned int num_received; 34static unsigned int num_received;
35 35
36struct GNUNET_CORE_Handle *core; 36static struct GNUNET_CORE_Handle *core;
37 37
38struct GNUNET_MQ_Handle *mq; 38static struct GNUNET_MQ_Handle *mq;
39 39
40struct GNUNET_PeerIdentity myself; 40static struct GNUNET_PeerIdentity myself;
41 41
42 42
43static void 43static void
@@ -55,15 +55,19 @@ init_cb (void *cls,
55 55
56 56
57static void 57static void
58connect_cb (void *cls, const struct GNUNET_PeerIdentity *peer) 58connect_cb (void *cls,
59 const struct GNUNET_PeerIdentity *peer)
59{ 60{
60 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Connected to peer %s.\n", 61 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
62 "Connected to peer %s.\n",
61 GNUNET_i2s (peer)); 63 GNUNET_i2s (peer));
62 if (0 == memcmp (peer, &myself, sizeof (struct GNUNET_PeerIdentity))) 64 if (0 == memcmp (peer, &myself, sizeof (struct GNUNET_PeerIdentity)))
63 { 65 {
64 unsigned int i; 66 unsigned int i;
65 struct GNUNET_MQ_Envelope *ev; 67 struct GNUNET_MQ_Envelope *ev;
66 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Queueing messages.\n"); 68
69 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
70 "Queueing messages.\n");
67 for (i = 0; i < NUM_MSG; i++) 71 for (i = 0; i < NUM_MSG; i++)
68 { 72 {
69 ev = GNUNET_MQ_msg_header (GNUNET_MESSAGE_TYPE_TEST); 73 ev = GNUNET_MQ_msg_header (GNUNET_MESSAGE_TYPE_TEST);
@@ -78,7 +82,9 @@ handle_test (void *cls,
78 const struct GNUNET_PeerIdentity *other, 82 const struct GNUNET_PeerIdentity *other,
79 const struct GNUNET_MessageHeader *message) 83 const struct GNUNET_MessageHeader *message)
80{ 84{
81 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Got test message %d\n", num_received); 85 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
86 "Got test message %d\n",
87 num_received);
82 num_received++; 88 num_received++;
83 if (NUM_MSG == num_received) 89 if (NUM_MSG == num_received)
84 { 90 {
@@ -98,7 +104,8 @@ handle_test (void *cls,
98static void 104static void
99shutdown_task (void *cls) 105shutdown_task (void *cls)
100{ 106{
101 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Shutting down\n"); 107 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
108 "Shutting down\n");
102 GNUNET_MQ_destroy (mq); 109 GNUNET_MQ_destroy (mq);
103 GNUNET_CORE_disconnect (core); 110 GNUNET_CORE_disconnect (core);
104} 111}
@@ -129,9 +136,10 @@ run (void *cls,
129 GNUNET_assert (0); 136 GNUNET_assert (0);
130 return; 137 return;
131 } 138 }
132 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &shutdown_task, NULL); 139 GNUNET_SCHEDULER_add_shutdown (&shutdown_task, NULL);
133} 140}
134 141
142
135int 143int
136main (int argc, char *argv1[]) 144main (int argc, char *argv1[])
137{ 145{
diff --git a/src/core/test_core_quota_compliance.c b/src/core/test_core_quota_compliance.c
index ed895df42..e28f57fa6 100644
--- a/src/core/test_core_quota_compliance.c
+++ b/src/core/test_core_quota_compliance.c
@@ -163,13 +163,9 @@ terminate_task (void *cls)
163static void 163static void
164terminate_task_error (void *cls) 164terminate_task_error (void *cls)
165{ 165{
166 const struct GNUNET_SCHEDULER_TaskContext *tc;
167
168 err_task = NULL; 166 err_task = NULL;
169 tc = GNUNET_SCHEDULER_get_task_context (); 167 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
170 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) 168 "Testcase failed!\n");
171 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
172 "Testcase failed!\n");
173 terminate_peer (&p1); 169 terminate_peer (&p1);
174 terminate_peer (&p2); 170 terminate_peer (&p2);
175 //GNUNET_break (0); 171 //GNUNET_break (0);
@@ -301,7 +297,6 @@ measurement_stop (void *cls)
301*/ 297*/
302 GNUNET_SCHEDULER_cancel (err_task); 298 GNUNET_SCHEDULER_cancel (err_task);
303 err_task = GNUNET_SCHEDULER_add_now (&terminate_task, NULL); 299 err_task = GNUNET_SCHEDULER_add_now (&terminate_task, NULL);
304
305} 300}
306 301
307 302
@@ -357,7 +352,6 @@ transmit_ready (void *cls, size_t size, void *buf)
357} 352}
358 353
359 354
360
361static void 355static void
362connect_notify (void *cls, const struct GNUNET_PeerIdentity *peer) 356connect_notify (void *cls, const struct GNUNET_PeerIdentity *peer)
363{ 357{
@@ -375,8 +369,7 @@ connect_notify (void *cls, const struct GNUNET_PeerIdentity *peer)
375 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 369 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
376 "Asking core (1) for transmission to peer `%4s'\n", 370 "Asking core (1) for transmission to peer `%4s'\n",
377 GNUNET_i2s (&p2.id)); 371 GNUNET_i2s (&p2.id));
378 if (err_task != NULL) 372 GNUNET_SCHEDULER_cancel (err_task);
379 GNUNET_SCHEDULER_cancel (err_task);
380 err_task = 373 err_task =
381 GNUNET_SCHEDULER_add_delayed (TIMEOUT, &terminate_task_error, NULL); 374 GNUNET_SCHEDULER_add_delayed (TIMEOUT, &terminate_task_error, NULL);
382 start_time = GNUNET_TIME_absolute_get (); 375 start_time = GNUNET_TIME_absolute_get ();