- "Asking ARM to stop core services\n");
- learn_peer.arm = GNUNET_ARM_connect (learn_peer.cfg, sched, NULL);
- GNUNET_ARM_stop_service (learn_peer.arm, "core", GNUNET_TIME_UNIT_SECONDS,
- &stop_cb, &learn_peer);
- adv_peer.arm = GNUNET_ARM_connect (adv_peer.cfg, sched, NULL);
- GNUNET_ARM_stop_service (adv_peer.arm, "core", GNUNET_TIME_UNIT_SECONDS,
- &stop_cb, &adv_peer);
-
- GNUNET_SCHEDULER_shutdown (sched);
+ "Killing hostlist server ARM process.\n");
+ if (0 != GNUNET_OS_process_kill (adv_peer.arm_proc, SIGTERM))
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
+ if (GNUNET_OS_process_wait (adv_peer.arm_proc) != GNUNET_OK)
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "waitpid");
+ GNUNET_OS_process_destroy (adv_peer.arm_proc);
+ adv_peer.arm_proc = NULL;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Killing hostlist client ARM process.\n");
+ if (0 != GNUNET_OS_process_kill (learn_peer.arm_proc, SIGTERM))
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
+ if (GNUNET_OS_process_wait (learn_peer.arm_proc) != GNUNET_OK)
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "waitpid");
+ GNUNET_OS_process_destroy (learn_peer.arm_proc);
+ learn_peer.arm_proc = NULL;
+#endif
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Shutdown complete....\n");