From 556b586c5d998902b3e9d8ca1dd7ae9be8d8f2ca Mon Sep 17 00:00:00 2001 From: "Nathan S. Evans" Date: Mon, 28 Jun 2010 12:23:08 +0000 Subject: [PATCH] shutdown callback --- src/topology/test_gnunet_daemon_topology.c | 27 ++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/topology/test_gnunet_daemon_topology.c b/src/topology/test_gnunet_daemon_topology.c index a96096455..047d5de8c 100644 --- a/src/topology/test_gnunet_daemon_topology.c +++ b/src/topology/test_gnunet_daemon_topology.c @@ -50,12 +50,35 @@ static struct GNUNET_TESTING_Daemon *last; static struct GNUNET_SCHEDULER_Handle *sched; +/** + * Check whether peers successfully shut down. + */ +void shutdown_callback (void *cls, + const char *emsg) +{ + if (emsg != NULL) + { +#if VERBOSE + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Shutdown of peers failed!\n"); +#endif + if (ok == 0) + ok = 666; + } + else + { +#if VERBOSE + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "All peers successfully shut down!\n"); +#endif + } +} static void clean_up_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { - GNUNET_TESTING_daemons_stop (pg, TIMEOUT); + GNUNET_TESTING_daemons_stop (pg, TIMEOUT, &shutdown_callback, NULL); ok = 0; } @@ -76,7 +99,7 @@ notify_connect_complete(void *cls, fprintf (stderr, "Failed to connect two peers: %s\n", emsg); - GNUNET_TESTING_daemons_stop (pg, TIMEOUT); + GNUNET_TESTING_daemons_stop (pg, TIMEOUT, &shutdown_callback, NULL); GNUNET_assert (0); return; } -- 2.25.1