diff options
Diffstat (limited to 'src/set')
-rw-r--r-- | src/set/gnunet-service-set.c | 9 | ||||
-rw-r--r-- | src/set/gnunet-set-profiler.c | 2 | ||||
-rw-r--r-- | src/set/set_api.c | 10 | ||||
-rw-r--r-- | src/set/test_set_api.c | 22 | ||||
-rw-r--r-- | src/set/test_set_union_copy.c | 32 | ||||
-rw-r--r-- | src/set/test_set_union_result_symmetric.c | 5 |
6 files changed, 35 insertions, 45 deletions
diff --git a/src/set/gnunet-service-set.c b/src/set/gnunet-service-set.c index e9555928a..2aad60309 100644 --- a/src/set/gnunet-service-set.c +++ b/src/set/gnunet-service-set.c | |||
@@ -1710,7 +1710,6 @@ handle_client_accept (void *cls, | |||
1710 | * Called to clean up, after a shutdown has been requested. | 1710 | * Called to clean up, after a shutdown has been requested. |
1711 | * | 1711 | * |
1712 | * @param cls closure | 1712 | * @param cls closure |
1713 | * @param tc context information (why was this task triggered now) | ||
1714 | */ | 1713 | */ |
1715 | static void | 1714 | static void |
1716 | shutdown_task (void *cls) | 1715 | shutdown_task (void *cls) |
@@ -1740,7 +1739,6 @@ shutdown_task (void *cls) | |||
1740 | * - we suggested an operation to our listener, | 1739 | * - we suggested an operation to our listener, |
1741 | * but did not receive a response in time | 1740 | * but did not receive a response in time |
1742 | * - we got the channel from a peer but no #GNUNET_MESSAGE_TYPE_SET_P2P_OPERATION_REQUEST | 1741 | * - we got the channel from a peer but no #GNUNET_MESSAGE_TYPE_SET_P2P_OPERATION_REQUEST |
1743 | * - shutdown (obviously) | ||
1744 | * | 1742 | * |
1745 | * @param cls channel context | 1743 | * @param cls channel context |
1746 | * @param tc context information (why was this task triggered now) | 1744 | * @param tc context information (why was this task triggered now) |
@@ -1749,13 +1747,9 @@ static void | |||
1749 | incoming_timeout_cb (void *cls) | 1747 | incoming_timeout_cb (void *cls) |
1750 | { | 1748 | { |
1751 | struct Operation *incoming = cls; | 1749 | struct Operation *incoming = cls; |
1752 | const struct GNUNET_SCHEDULER_TaskContext *tc; | ||
1753 | 1750 | ||
1754 | incoming->timeout_task = NULL; | 1751 | incoming->timeout_task = NULL; |
1755 | GNUNET_assert (GNUNET_YES == incoming->is_incoming); | 1752 | GNUNET_assert (GNUNET_YES == incoming->is_incoming); |
1756 | tc = GNUNET_SCHEDULER_get_task_context (); | ||
1757 | if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) | ||
1758 | return; | ||
1759 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1753 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1760 | "Remote peer's incoming request timed out\n"); | 1754 | "Remote peer's incoming request timed out\n"); |
1761 | incoming_destroy (incoming); | 1755 | incoming_destroy (incoming); |
@@ -1997,8 +1991,7 @@ run (void *cls, | |||
1997 | static const uint32_t cadet_ports[] = {GNUNET_APPLICATION_TYPE_SET, 0}; | 1991 | static const uint32_t cadet_ports[] = {GNUNET_APPLICATION_TYPE_SET, 0}; |
1998 | 1992 | ||
1999 | configuration = cfg; | 1993 | configuration = cfg; |
2000 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, | 1994 | GNUNET_SCHEDULER_add_shutdown (&shutdown_task, NULL); |
2001 | &shutdown_task, NULL); | ||
2002 | GNUNET_SERVER_disconnect_notify (server, | 1995 | GNUNET_SERVER_disconnect_notify (server, |
2003 | &handle_client_disconnect, NULL); | 1996 | &handle_client_disconnect, NULL); |
2004 | GNUNET_SERVER_add_handlers (server, | 1997 | GNUNET_SERVER_add_handlers (server, |
diff --git a/src/set/gnunet-set-profiler.c b/src/set/gnunet-set-profiler.c index ff76b27ce..186a2763e 100644 --- a/src/set/gnunet-set-profiler.c +++ b/src/set/gnunet-set-profiler.c | |||
@@ -299,7 +299,7 @@ run (void *cls, | |||
299 | 299 | ||
300 | statistics = GNUNET_STATISTICS_create ("set-profiler", cfg); | 300 | statistics = GNUNET_STATISTICS_create ("set-profiler", cfg); |
301 | 301 | ||
302 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, handle_shutdown, NULL); | 302 | GNUNET_SCHEDULER_add_shutdown (&handle_shutdown, NULL); |
303 | 303 | ||
304 | info1.id = "a"; | 304 | info1.id = "a"; |
305 | info2.id = "b"; | 305 | info2.id = "b"; |
diff --git a/src/set/set_api.c b/src/set/set_api.c index 772140269..794ae57b7 100644 --- a/src/set/set_api.c +++ b/src/set/set_api.c | |||
@@ -230,7 +230,7 @@ struct GNUNET_SET_ListenHandle | |||
230 | /** | 230 | /** |
231 | * Task for reconnecting when the listener fails. | 231 | * Task for reconnecting when the listener fails. |
232 | */ | 232 | */ |
233 | struct GNUNET_SCHEDULER_Task * reconnect_task; | 233 | struct GNUNET_SCHEDULER_Task *reconnect_task; |
234 | 234 | ||
235 | /** | 235 | /** |
236 | * Operation we listen for. | 236 | * Operation we listen for. |
@@ -891,15 +891,7 @@ listen_connect (void *cls) | |||
891 | struct GNUNET_SET_ListenHandle *lh = cls; | 891 | struct GNUNET_SET_ListenHandle *lh = cls; |
892 | struct GNUNET_MQ_Envelope *mqm; | 892 | struct GNUNET_MQ_Envelope *mqm; |
893 | struct GNUNET_SET_ListenMessage *msg; | 893 | struct GNUNET_SET_ListenMessage *msg; |
894 | const struct GNUNET_SCHEDULER_TaskContext *tc; | ||
895 | 894 | ||
896 | tc = GNUNET_SCHEDULER_get_task_context (); | ||
897 | if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) | ||
898 | { | ||
899 | LOG (GNUNET_ERROR_TYPE_DEBUG, | ||
900 | "Listener not reconnecting due to shutdown\n"); | ||
901 | return; | ||
902 | } | ||
903 | lh->reconnect_task = NULL; | 895 | lh->reconnect_task = NULL; |
904 | GNUNET_assert (NULL == lh->client); | 896 | GNUNET_assert (NULL == lh->client); |
905 | lh->client = GNUNET_CLIENT_connect ("set", lh->cfg); | 897 | lh->client = GNUNET_CLIENT_connect ("set", lh->cfg); |
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); |
diff --git a/src/set/test_set_union_copy.c b/src/set/test_set_union_copy.c index fdf6bf9df..7fedf426b 100644 --- a/src/set/test_set_union_copy.c +++ b/src/set/test_set_union_copy.c | |||
@@ -42,6 +42,8 @@ static struct GNUNET_SET_Handle *set2; | |||
42 | 42 | ||
43 | static const struct GNUNET_CONFIGURATION_Handle *config; | 43 | static const struct GNUNET_CONFIGURATION_Handle *config; |
44 | 44 | ||
45 | static struct GNUNET_SCHEDULER_Task *tt; | ||
46 | |||
45 | 47 | ||
46 | static void | 48 | static void |
47 | add_element_str (struct GNUNET_SET_Handle *set, char *str) | 49 | add_element_str (struct GNUNET_SET_Handle *set, char *str) |
@@ -77,11 +79,7 @@ remove_element_str (struct GNUNET_SET_Handle *set, char *str) | |||
77 | static void | 79 | static void |
78 | timeout_fail (void *cls) | 80 | timeout_fail (void *cls) |
79 | { | 81 | { |
80 | const struct GNUNET_SCHEDULER_TaskContext *tc; | 82 | tt = NULL; |
81 | |||
82 | tc = GNUNET_SCHEDULER_get_task_context (); | ||
83 | if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) | ||
84 | return; | ||
85 | GNUNET_SCHEDULER_shutdown (); | 83 | GNUNET_SCHEDULER_shutdown (); |
86 | ret = 1; | 84 | ret = 1; |
87 | } | 85 | } |
@@ -125,8 +123,7 @@ check_count_iter (void *cls, | |||
125 | } | 123 | } |
126 | 124 | ||
127 | 125 | ||
128 | 126 | static void | |
129 | void | ||
130 | check_count (struct GNUNET_SET_Handle *set, | 127 | check_count (struct GNUNET_SET_Handle *set, |
131 | char *what, | 128 | char *what, |
132 | unsigned int expected_count, | 129 | unsigned int expected_count, |
@@ -145,24 +142,28 @@ check_count (struct GNUNET_SET_Handle *set, | |||
145 | } | 142 | } |
146 | 143 | ||
147 | 144 | ||
148 | void test_done (void *cls) | 145 | static void |
146 | test_done (void *cls) | ||
149 | { | 147 | { |
150 | if (NULL != set1) | 148 | if (NULL != set1) |
151 | GNUNET_SET_destroy (set1); | 149 | GNUNET_SET_destroy (set1); |
152 | if (NULL != set2) | 150 | if (NULL != set2) |
153 | GNUNET_SET_destroy (set2); | 151 | GNUNET_SET_destroy (set2); |
154 | 152 | GNUNET_SCHEDULER_cancel (tt); | |
153 | tt = NULL; | ||
155 | GNUNET_SCHEDULER_shutdown (); | 154 | GNUNET_SCHEDULER_shutdown (); |
156 | } | 155 | } |
157 | 156 | ||
158 | 157 | ||
159 | void check_new_set_count (void *cls) | 158 | static void |
159 | check_new_set_count (void *cls) | ||
160 | { | 160 | { |
161 | check_count (set2, "new set", 4, &test_done, NULL); | 161 | check_count (set2, "new set", 4, &test_done, NULL); |
162 | } | 162 | } |
163 | 163 | ||
164 | 164 | ||
165 | void copy_done (void *cls, struct GNUNET_SET_Handle *new_set) | 165 | static void |
166 | copy_done (void *cls, struct GNUNET_SET_Handle *new_set) | ||
166 | { | 167 | { |
167 | printf ("copy done\n"); | 168 | printf ("copy done\n"); |
168 | set2 = new_set; | 169 | set2 = new_set; |
@@ -177,7 +178,8 @@ void copy_done (void *cls, struct GNUNET_SET_Handle *new_set) | |||
177 | } | 178 | } |
178 | 179 | ||
179 | 180 | ||
180 | void test_copy (void *cls) | 181 | static void |
182 | test_copy (void *cls) | ||
181 | { | 183 | { |
182 | printf ("about to copy\n"); | 184 | printf ("about to copy\n"); |
183 | GNUNET_SET_copy_lazy (set1, copy_done, NULL); | 185 | GNUNET_SET_copy_lazy (set1, copy_done, NULL); |
@@ -198,9 +200,9 @@ run (void *cls, | |||
198 | const struct GNUNET_CONFIGURATION_Handle *cfg, | 200 | const struct GNUNET_CONFIGURATION_Handle *cfg, |
199 | struct GNUNET_TESTING_Peer *peer) | 201 | struct GNUNET_TESTING_Peer *peer) |
200 | { | 202 | { |
201 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5), | 203 | tt = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5), |
202 | &timeout_fail, | 204 | &timeout_fail, |
203 | NULL); | 205 | NULL); |
204 | 206 | ||
205 | config = cfg; | 207 | config = cfg; |
206 | GNUNET_TESTING_peer_get_identity (peer, | 208 | GNUNET_TESTING_peer_get_identity (peer, |
diff --git a/src/set/test_set_union_result_symmetric.c b/src/set/test_set_union_result_symmetric.c index b312bcb4c..77fec71c6 100644 --- a/src/set/test_set_union_result_symmetric.c +++ b/src/set/test_set_union_result_symmetric.c | |||
@@ -297,11 +297,6 @@ test_iter () | |||
297 | static void | 297 | static void |
298 | timeout_fail (void *cls) | 298 | timeout_fail (void *cls) |
299 | { | 299 | { |
300 | const struct GNUNET_SCHEDULER_TaskContext *tc; | ||
301 | |||
302 | tc = GNUNET_SCHEDULER_get_task_context (); | ||
303 | if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) | ||
304 | return; | ||
305 | GNUNET_SCHEDULER_shutdown (); | 300 | GNUNET_SCHEDULER_shutdown (); |
306 | ret = 1; | 301 | ret = 1; |
307 | } | 302 | } |