aboutsummaryrefslogtreecommitdiff
path: root/src/set/test_set_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/set/test_set_api.c')
-rw-r--r--src/set/test_set_api.c22
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
45static int ret; 45static int ret;
46 46
47static struct GNUNET_SCHEDULER_Task *tt;
48
47 49
48static void 50static void
49result_cb_set1 (void *cls, 51result_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 ()
250static void 262static void
251timeout_fail (void *cls) 263timeout_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);