+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Shutdown testcase....\n");
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stopping Timeout Task.\n");
+ if (timeout_task != GNUNET_SCHEDULER_NO_TASK)
+ {
+ GNUNET_SCHEDULER_cancel (sched, timeout_task);
+ timeout_task = GNUNET_SCHEDULER_NO_TASK;
+ }
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stopping Statistics Task.\n");
+/*
+ if ((NULL != learn_peer.stats) && (NULL != download_stats))
+ GNUNET_STATISTICS_get_cancel (download_stats);
+ if ((NULL != learn_peer.stats) && (NULL != urisrecv_stat))
+ GNUNET_STATISTICS_get_cancel (urisrecv_stat);
+ if ((NULL != adv_peer.stats) && (NULL != advsent_stat))
+ GNUNET_STATISTICS_get_cancel (advsent_stat);
+*/
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stopping Statistics Check Task.\n");
+ if ((check_task != GNUNET_SCHEDULER_NO_TASK) && (sched !=NULL))
+ {
+ GNUNET_SCHEDULER_cancel (sched, check_task);
+ check_task = GNUNET_SCHEDULER_NO_TASK;
+ }
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Freeing uri\n");
+ if ( NULL != current_adv_uri ) GNUNET_free (current_adv_uri);
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Disconnecting from Transport.\n");
+ if (adv_peer.th != NULL)
+ {
+ GNUNET_TRANSPORT_disconnect (adv_peer.th);
+ adv_peer.th = NULL;
+ }
+ if (learn_peer.th != NULL)
+ {
+ GNUNET_TRANSPORT_disconnect (learn_peer.th);
+ learn_peer.th = NULL;
+ }
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Disconnecting from Core.\n");
+ if (adv_peer.core != NULL)
+ {
+ GNUNET_CORE_disconnect (adv_peer.core);
+ adv_peer.core = NULL;
+ }
+ if (learn_peer.core != NULL)
+ {
+ GNUNET_CORE_disconnect (learn_peer.core);
+ learn_peer.core = NULL;
+ }
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Asking ARM to stop core services\n");
+
+
+#if START_ARM
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Killing hostlist server ARM process.\n");
+ if (0 != PLIBC_KILL (adv_peer.arm_pid, SIGTERM))
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
+ if (GNUNET_OS_process_wait(adv_peer.arm_pid) != GNUNET_OK)
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "waitpid");
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Hostlist server ARM process %u stopped\n", adv_peer.arm_pid);
+#endif
+
+
+#if START_ARM
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Killing hostlist client ARM process.\n");
+ if (0 != PLIBC_KILL (learn_peer.arm_pid, SIGTERM))
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
+ if (GNUNET_OS_process_wait(learn_peer.arm_pid) != GNUNET_OK)
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "waitpid");
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Hostlist client ARM process %u stopped\n", learn_peer.arm_pid);
+#endif
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Shutting down scheduler\n");