diff options
author | Sree Harsha Totakura <totakura@in.tum.de> | 2013-02-12 10:05:40 +0000 |
---|---|---|
committer | Sree Harsha Totakura <totakura@in.tum.de> | 2013-02-12 10:05:40 +0000 |
commit | ffec951065ab72b166947788acc6cc6694c443cc (patch) | |
tree | cfb5b015a0bbe96b66a5980f354b8d746762fd81 /src/testbed/test_testbed_api_controllerlink.c | |
parent | 9174ab063cf1a5a33e8035073b88b785e0151f4d (diff) | |
download | gnunet-ffec951065ab72b166947788acc6cc6694c443cc.tar.gz gnunet-ffec951065ab72b166947788acc6cc6694c443cc.zip |
- fix crashing tests
Diffstat (limited to 'src/testbed/test_testbed_api_controllerlink.c')
-rw-r--r-- | src/testbed/test_testbed_api_controllerlink.c | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/src/testbed/test_testbed_api_controllerlink.c b/src/testbed/test_testbed_api_controllerlink.c index eadc6c9ff..1d0a3652c 100644 --- a/src/testbed/test_testbed_api_controllerlink.c +++ b/src/testbed/test_testbed_api_controllerlink.c | |||
@@ -252,6 +252,11 @@ static struct GNUNET_TESTBED_Peer *master_peer; | |||
252 | struct GNUNET_TESTBED_HostHabitableCheckHandle *hc_handle; | 252 | struct GNUNET_TESTBED_HostHabitableCheckHandle *hc_handle; |
253 | 253 | ||
254 | /** | 254 | /** |
255 | * The task handle for the delay task | ||
256 | */ | ||
257 | GNUNET_SCHEDULER_TaskIdentifier delay_task_id; | ||
258 | |||
259 | /** | ||
255 | * Event mask | 260 | * Event mask |
256 | */ | 261 | */ |
257 | uint64_t event_mask; | 262 | uint64_t event_mask; |
@@ -273,6 +278,11 @@ do_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
273 | { | 278 | { |
274 | if (GNUNET_SCHEDULER_NO_TASK != abort_task) | 279 | if (GNUNET_SCHEDULER_NO_TASK != abort_task) |
275 | GNUNET_SCHEDULER_cancel (abort_task); | 280 | GNUNET_SCHEDULER_cancel (abort_task); |
281 | if (GNUNET_SCHEDULER_NO_TASK != delay_task_id) | ||
282 | { | ||
283 | GNUNET_SCHEDULER_cancel (delay_task_id); | ||
284 | delay_task_id = GNUNET_SCHEDULER_NO_TASK; | ||
285 | } | ||
276 | if (NULL != hc_handle) | 286 | if (NULL != hc_handle) |
277 | GNUNET_TESTBED_is_host_habitable_cancel (hc_handle); | 287 | GNUNET_TESTBED_is_host_habitable_cancel (hc_handle); |
278 | if (NULL != slave3) | 288 | if (NULL != slave3) |
@@ -335,6 +345,7 @@ do_abort_now (void *cls) | |||
335 | static void | 345 | static void |
336 | delay_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 346 | delay_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
337 | { | 347 | { |
348 | delay_task_id = GNUNET_SCHEDULER_NO_TASK; | ||
338 | switch (result) | 349 | switch (result) |
339 | { | 350 | { |
340 | case SLAVE2_PEER_CREATE_SUCCESS: | 351 | case SLAVE2_PEER_CREATE_SUCCESS: |
@@ -383,9 +394,11 @@ peer_create_cb (void *cls, struct GNUNET_TESTBED_Peer *peer, const char *emsg) | |||
383 | result = SLAVE2_PEER_CREATE_SUCCESS; | 394 | result = SLAVE2_PEER_CREATE_SUCCESS; |
384 | slave2_peer = peer; | 395 | slave2_peer = peer; |
385 | GNUNET_TESTBED_operation_done (op); | 396 | GNUNET_TESTBED_operation_done (op); |
386 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply | 397 | delay_task_id = |
387 | (GNUNET_TIME_UNIT_SECONDS, 1), &delay_task, | 398 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply |
388 | NULL); | 399 | (GNUNET_TIME_UNIT_SECONDS, 1), |
400 | &delay_task, | ||
401 | NULL); | ||
389 | break; | 402 | break; |
390 | default: | 403 | default: |
391 | GNUNET_assert (0); | 404 | GNUNET_assert (0); |
@@ -496,9 +509,10 @@ controller_cb (void *cls, const struct GNUNET_TESTBED_EventInformation *event) | |||
496 | result = MASTER_SLAVE2_PEERS_CONNECTED; | 509 | result = MASTER_SLAVE2_PEERS_CONNECTED; |
497 | GNUNET_TESTBED_operation_done (op); | 510 | GNUNET_TESTBED_operation_done (op); |
498 | op = NULL; | 511 | op = NULL; |
499 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply | 512 | delay_task_id = |
500 | (GNUNET_TIME_UNIT_SECONDS, 1), &delay_task, | 513 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply |
501 | NULL); | 514 | (GNUNET_TIME_UNIT_SECONDS, 1), &delay_task, |
515 | NULL); | ||
502 | break; | 516 | break; |
503 | case MASTER_SLAVE2_PEERS_CONNECTED: | 517 | case MASTER_SLAVE2_PEERS_CONNECTED: |
504 | GNUNET_assert (GNUNET_TESTBED_ET_PEER_STOP == event->type); | 518 | GNUNET_assert (GNUNET_TESTBED_ET_PEER_STOP == event->type); |