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/set/test_set_api.c | |
parent | 7746f68db77b9ca3c4aaca24ab2ce5253461240b (diff) | |
download | gnunet-95f9076a2139f5fb042b944a0658b6cda2fa35db.tar.gz gnunet-95f9076a2139f5fb042b944a0658b6cda2fa35db.zip |
implementing new scheduler shutdown semantics
Diffstat (limited to 'src/set/test_set_api.c')
-rw-r--r-- | src/set/test_set_api.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/set/test_set_api.c b/src/set/test_set_api.c index b5c21f8a3..d04877b39 100644 --- a/src/set/test_set_api.c +++ b/src/set/test_set_api.c | |||
@@ -44,6 +44,8 @@ static unsigned int iter_count; | |||
44 | 44 | ||
45 | static int ret; | 45 | static int ret; |
46 | 46 | ||
47 | static struct GNUNET_SCHEDULER_Task *tt; | ||
48 | |||
47 | 49 | ||
48 | static void | 50 | static void |
49 | result_cb_set1 (void *cls, | 51 | result_cb_set1 (void *cls, |
@@ -61,6 +63,8 @@ result_cb_set1 (void *cls, | |||
61 | fprintf (stderr, | 63 | fprintf (stderr, |
62 | "set 1: received failure status!\n"); | 64 | "set 1: received failure status!\n"); |
63 | ret = 1; | 65 | ret = 1; |
66 | GNUNET_SCHEDULER_cancel (tt); | ||
67 | tt = NULL; | ||
64 | GNUNET_SCHEDULER_shutdown (); | 68 | GNUNET_SCHEDULER_shutdown (); |
65 | break; | 69 | break; |
66 | case GNUNET_SET_STATUS_DONE: | 70 | case GNUNET_SET_STATUS_DONE: |
@@ -69,7 +73,11 @@ result_cb_set1 (void *cls, | |||
69 | GNUNET_SET_destroy (set1); | 73 | GNUNET_SET_destroy (set1); |
70 | set1 = NULL; | 74 | set1 = NULL; |
71 | if (NULL == set2) | 75 | if (NULL == set2) |
76 | { | ||
77 | GNUNET_SCHEDULER_cancel (tt); | ||
78 | tt = NULL; | ||
72 | GNUNET_SCHEDULER_shutdown (); | 79 | GNUNET_SCHEDULER_shutdown (); |
80 | } | ||
73 | break; | 81 | break; |
74 | default: | 82 | default: |
75 | GNUNET_assert (0); | 83 | GNUNET_assert (0); |
@@ -100,7 +108,11 @@ result_cb_set2 (void *cls, | |||
100 | GNUNET_SET_destroy (set2); | 108 | GNUNET_SET_destroy (set2); |
101 | set2 = NULL; | 109 | set2 = NULL; |
102 | if (NULL == set1) | 110 | if (NULL == set1) |
111 | { | ||
112 | GNUNET_SCHEDULER_cancel (tt); | ||
113 | tt = NULL; | ||
103 | GNUNET_SCHEDULER_shutdown (); | 114 | GNUNET_SCHEDULER_shutdown (); |
115 | } | ||
104 | break; | 116 | break; |
105 | default: | 117 | default: |
106 | GNUNET_assert (0); | 118 | GNUNET_assert (0); |
@@ -250,11 +262,7 @@ test_iter () | |||
250 | static void | 262 | static void |
251 | timeout_fail (void *cls) | 263 | timeout_fail (void *cls) |
252 | { | 264 | { |
253 | const struct GNUNET_SCHEDULER_TaskContext *tc; | 265 | tt = NULL; |
254 | |||
255 | tc = GNUNET_SCHEDULER_get_task_context (); | ||
256 | if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) | ||
257 | return; | ||
258 | GNUNET_SCHEDULER_shutdown (); | 266 | GNUNET_SCHEDULER_shutdown (); |
259 | ret = 1; | 267 | ret = 1; |
260 | } | 268 | } |
@@ -276,8 +284,8 @@ run (void *cls, | |||
276 | 284 | ||
277 | struct GNUNET_SET_OperationHandle *my_oh; | 285 | struct GNUNET_SET_OperationHandle *my_oh; |
278 | 286 | ||
279 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5), | 287 | tt = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5), |
280 | &timeout_fail, NULL); | 288 | &timeout_fail, NULL); |
281 | 289 | ||
282 | config = cfg; | 290 | config = cfg; |
283 | GNUNET_CRYPTO_get_peer_identity (cfg, &local_id); | 291 | GNUNET_CRYPTO_get_peer_identity (cfg, &local_id); |