aboutsummaryrefslogtreecommitdiff
path: root/src/testbed/gnunet_testbed_mpi_spawn.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/testbed/gnunet_testbed_mpi_spawn.c')
-rw-r--r--src/testbed/gnunet_testbed_mpi_spawn.c16
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;
56static enum GNUNET_OS_ProcessStatusType child_status; 56static enum GNUNET_OS_ProcessStatusType child_status;
57 57
58/** 58/**
59 * The shutdown task
60 */
61static struct GNUNET_SCHEDULER_Task * shutdown_task_id;
62
63/**
64 * Task to kill the child 59 * Task to kill the child
65 */ 60 */
66static struct GNUNET_SCHEDULER_Task * terminate_task_id; 61static struct GNUNET_SCHEDULER_Task * terminate_task_id;
@@ -76,7 +71,6 @@ static struct GNUNET_SCHEDULER_Task * child_death_task_id;
76static void 71static void
77shutdown_task (void *cls) 72shutdown_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,