X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Ftestbed%2Fgnunet_testbed_mpi_spawn.c;h=191f658b7589841b0e93fe16382df0a8f7ae1746;hb=29e6158507a0758192075ac6ece7ba8e75ddc49a;hp=a7652cfd8c7ab6110268cda0d1c0519cb233e190;hpb=61c39c60565b386e0e12ea669556b030e8cd7180;p=oweals%2Fgnunet.git diff --git a/src/testbed/gnunet_testbed_mpi_spawn.c b/src/testbed/gnunet_testbed_mpi_spawn.c index a7652cfd8..191f658b7 100644 --- a/src/testbed/gnunet_testbed_mpi_spawn.c +++ b/src/testbed/gnunet_testbed_mpi_spawn.c @@ -58,25 +58,25 @@ static enum GNUNET_OS_ProcessStatusType child_status; /** * The shutdown task */ -static GNUNET_SCHEDULER_TaskIdentifier shutdown_task_id; +static struct GNUNET_SCHEDULER_Task * shutdown_task_id; /** * Task to kill the child */ -static GNUNET_SCHEDULER_TaskIdentifier terminate_task_id; +static struct GNUNET_SCHEDULER_Task * terminate_task_id; /** * Task to kill the child */ -static GNUNET_SCHEDULER_TaskIdentifier child_death_task_id; +static struct GNUNET_SCHEDULER_Task * child_death_task_id; /** * The shutdown task */ static void -shutdown_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) +shutdown_task (void *cls) { - shutdown_task_id = GNUNET_SCHEDULER_NO_TASK; + shutdown_task_id = NULL; if (0 != child_exit_code) { LOG (GNUNET_ERROR_TYPE_WARNING, "Child exited with error code: %lu\n", @@ -96,7 +96,7 @@ shutdown_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) static void -terminate_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) +terminate_task (void *cls) { static int hard_kill; @@ -121,7 +121,7 @@ terminate_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) } } hard_kill++; - GNUNET_break (0 == GNUNET_OS_process_kill (child, SIGTERM)); + GNUNET_break (0 == GNUNET_OS_process_kill (child, GNUNET_TERM_SIG)); LOG (GNUNET_ERROR_TYPE_INFO, _("Waiting for child to exit.\n")); } @@ -131,16 +131,18 @@ terminate_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) * process died). * * @param cls closure, NULL if we need to self-restart - * @param tc context */ static void -child_death_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) +child_death_task (void *cls) { const struct GNUNET_DISK_FileHandle *pr; char c[16]; + const struct GNUNET_SCHEDULER_TaskContext *tc; + pr = GNUNET_DISK_pipe_handle (sigpipe, GNUNET_DISK_PIPE_END_READ); - child_death_task_id = GNUNET_SCHEDULER_NO_TASK; + child_death_task_id = NULL; + tc = GNUNET_SCHEDULER_get_task_context (); if (0 == (tc->reason & GNUNET_SCHEDULER_REASON_READ_READY)) { child_death_task_id = @@ -152,7 +154,7 @@ child_death_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) GNUNET_break (0 < GNUNET_DISK_file_read (pr, &c, sizeof (c))); LOG_DEBUG ("Child died\n"); GNUNET_SCHEDULER_cancel (terminate_task_id); - terminate_task_id = GNUNET_SCHEDULER_NO_TASK; + terminate_task_id = NULL; GNUNET_assert (GNUNET_OK == GNUNET_OS_process_status (child, &child_status, &child_exit_code)); GNUNET_OS_process_destroy (child); @@ -179,10 +181,9 @@ destroy_hosts(struct GNUNET_TESTBED_Host **hosts, unsigned int nhosts) * The main scheduler run task * * @param cls NULL - * @param tc scheduler task context */ static void -run (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) +run (void *cls) { struct GNUNET_TESTBED_Host **hosts; const struct GNUNET_CONFIGURATION_Handle *null_cfg; @@ -246,7 +247,7 @@ run (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) /* Spawn the new process here */ LOG (GNUNET_ERROR_TYPE_INFO, _("Spawning process `%s'\n"), argv2[0]); child = GNUNET_OS_start_process_vap (GNUNET_NO, GNUNET_OS_INHERIT_STD_ALL, NULL, - NULL, + NULL, NULL, argv2[0], argv2); if (NULL == child) {