diff options
author | Christian Grothoff <christian@grothoff.org> | 2011-09-18 07:19:47 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2011-09-18 07:19:47 +0000 |
commit | fb44fdf83d0800e2e3e5300c3fe459bc01ec3d70 (patch) | |
tree | ad94e6fb9f18cb63981c9db365b3f041a89fb62b /src/arm | |
parent | 7b0a7042bd85a5e4dd3021e0245ced21fffe634f (diff) | |
download | gnunet-fb44fdf83d0800e2e3e5300c3fe459bc01ec3d70.tar.gz gnunet-fb44fdf83d0800e2e3e5300c3fe459bc01ec3d70.zip |
fixing 1767:
Diffstat (limited to 'src/arm')
-rw-r--r-- | src/arm/gnunet-service-arm.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/arm/gnunet-service-arm.c b/src/arm/gnunet-service-arm.c index eb19776e6..718d90280 100644 --- a/src/arm/gnunet-service-arm.c +++ b/src/arm/gnunet-service-arm.c | |||
@@ -660,6 +660,7 @@ static void | |||
660 | shutdown_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 660 | shutdown_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
661 | { | 661 | { |
662 | struct ServiceList *pos; | 662 | struct ServiceList *pos; |
663 | struct ServiceList *nxt; | ||
663 | 664 | ||
664 | #if DEBUG_ARM | 665 | #if DEBUG_ARM |
665 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, _("Stopping all services\n")); | 666 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, _("Stopping all services\n")); |
@@ -674,13 +675,18 @@ shutdown_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
674 | pos = running_head; | 675 | pos = running_head; |
675 | while (NULL != pos) | 676 | while (NULL != pos) |
676 | { | 677 | { |
678 | nxt = pos->next; | ||
677 | if (pos->proc != NULL) | 679 | if (pos->proc != NULL) |
678 | { | 680 | { |
679 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Stopping service `%s'\n", pos->name); | 681 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Stopping service `%s'\n", pos->name); |
680 | if (0 != GNUNET_OS_process_kill (pos->proc, SIGTERM)) | 682 | if (0 != GNUNET_OS_process_kill (pos->proc, SIGTERM)) |
681 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill"); | 683 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill"); |
682 | } | 684 | } |
683 | pos = pos->next; | 685 | else |
686 | { | ||
687 | free_service (pos); | ||
688 | } | ||
689 | pos = nxt; | ||
684 | } | 690 | } |
685 | if (running_head == NULL) | 691 | if (running_head == NULL) |
686 | do_shutdown (); | 692 | do_shutdown (); |