diff options
Diffstat (limited to 'src/testbed/gnunet_testbed_mpi_spawn.c')
-rw-r--r-- | src/testbed/gnunet_testbed_mpi_spawn.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/src/testbed/gnunet_testbed_mpi_spawn.c b/src/testbed/gnunet_testbed_mpi_spawn.c index 191f658b7..d69812cd2 100644 --- a/src/testbed/gnunet_testbed_mpi_spawn.c +++ b/src/testbed/gnunet_testbed_mpi_spawn.c | |||
@@ -56,11 +56,6 @@ static unsigned long child_exit_code; | |||
56 | static enum GNUNET_OS_ProcessStatusType child_status; | 56 | static enum GNUNET_OS_ProcessStatusType child_status; |
57 | 57 | ||
58 | /** | 58 | /** |
59 | * The shutdown task | ||
60 | */ | ||
61 | static struct GNUNET_SCHEDULER_Task * shutdown_task_id; | ||
62 | |||
63 | /** | ||
64 | * Task to kill the child | 59 | * Task to kill the child |
65 | */ | 60 | */ |
66 | static struct GNUNET_SCHEDULER_Task * terminate_task_id; | 61 | static struct GNUNET_SCHEDULER_Task * terminate_task_id; |
@@ -76,7 +71,6 @@ static struct GNUNET_SCHEDULER_Task * child_death_task_id; | |||
76 | static void | 71 | static void |
77 | shutdown_task (void *cls) | 72 | shutdown_task (void *cls) |
78 | { | 73 | { |
79 | shutdown_task_id = NULL; | ||
80 | if (0 != child_exit_code) | 74 | if (0 != child_exit_code) |
81 | { | 75 | { |
82 | LOG (GNUNET_ERROR_TYPE_WARNING, "Child exited with error code: %lu\n", | 76 | LOG (GNUNET_ERROR_TYPE_WARNING, "Child exited with error code: %lu\n", |
@@ -102,8 +96,7 @@ terminate_task (void *cls) | |||
102 | 96 | ||
103 | GNUNET_assert (NULL != child); | 97 | GNUNET_assert (NULL != child); |
104 | terminate_task_id = | 98 | terminate_task_id = |
105 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, | 99 | GNUNET_SCHEDULER_add_shutdown (&terminate_task, NULL); |
106 | &terminate_task, NULL); | ||
107 | if (0 != hard_kill) | 100 | if (0 != hard_kill) |
108 | { | 101 | { |
109 | switch (hard_kill) | 102 | switch (hard_kill) |
@@ -159,7 +152,7 @@ child_death_task (void *cls) | |||
159 | &child_exit_code)); | 152 | &child_exit_code)); |
160 | GNUNET_OS_process_destroy (child); | 153 | GNUNET_OS_process_destroy (child); |
161 | child = NULL; | 154 | child = NULL; |
162 | shutdown_task_id = GNUNET_SCHEDULER_add_now (&shutdown_task, NULL); | 155 | GNUNET_SCHEDULER_add_now (&shutdown_task, NULL); |
163 | } | 156 | } |
164 | 157 | ||
165 | 158 | ||
@@ -253,13 +246,12 @@ run (void *cls) | |||
253 | { | 246 | { |
254 | GNUNET_break (0); | 247 | GNUNET_break (0); |
255 | ret = GNUNET_SYSERR; | 248 | ret = GNUNET_SYSERR; |
256 | shutdown_task_id = GNUNET_SCHEDULER_add_now (&shutdown_task, NULL); | 249 | GNUNET_SCHEDULER_add_now (&shutdown_task, NULL); |
257 | return; | 250 | return; |
258 | } | 251 | } |
259 | ret = GNUNET_OK; | 252 | ret = GNUNET_OK; |
260 | terminate_task_id = | 253 | terminate_task_id = |
261 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, | 254 | GNUNET_SCHEDULER_add_shutdown (&terminate_task, NULL); |
262 | &terminate_task, NULL); | ||
263 | child_death_task_id = | 255 | child_death_task_id = |
264 | GNUNET_SCHEDULER_add_read_file (GNUNET_TIME_UNIT_FOREVER_REL, | 256 | GNUNET_SCHEDULER_add_read_file (GNUNET_TIME_UNIT_FOREVER_REL, |
265 | GNUNET_DISK_pipe_handle (sigpipe, | 257 | GNUNET_DISK_pipe_handle (sigpipe, |