From e7e3df9a6c4599f982a62bb8d7cd973ccd8cee72 Mon Sep 17 00:00:00 2001 From: Sergey Poznyakoff Date: Thu, 5 Nov 2015 10:26:17 +0200 Subject: New ctl commands: start, stop, restart, reboot, shutdown. * src/ctl.c (CTL_ACTION_STATE): New state. (cmdtab): Add new commands: start, stop, restart, reboot, shutdown. (ctlio): New member. (ctlio_create): Initialize action. (list_prog): List scheduled wakeup time for sleeping components. (cmd_start,cmd_stop) (cmd_restart,cmd_reboot,cmd_shutdown): New functions. (ctlwr): Handle CTL_ACTION_STATE. * src/pies.c (pies_schedule_action): New function. (stop_components): Use progman_stop_tag(). * src/pies.h (pies_schedule_action, progman_stop_tag): New protos. (progman_stop_component): Remove. * src/prog.h (progman_locate, progman_stop_component): New protos. * src/progman.c (progman_locate): New function. (progman_cleanup): Set status depending on the CF_DISABLED bit. (progman_stop_component): Take struct prog* as argument. (progman_stop_tag): New function. --- src/pies.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/pies.h') diff --git a/src/pies.h b/src/pies.h index f882f63..82ffddb 100644 --- a/src/pies.h +++ b/src/pies.h @@ -308,6 +308,8 @@ void add_config (enum config_syntax syntax, const char *name); void free_redirector (struct redirector *rp); +void pies_schedule_action (int act); + void register_prog (struct component *comp); int progman_running_p (void); size_t progman_running_count (void); @@ -317,7 +319,7 @@ void progman_stop (void); void progman_cleanup (int expect_term); void progman_filter (int (*filter) (struct component *, void *data), void *data); -void progman_stop_component (const char *name); +void progman_stop_tag (const char *name); void progman_dump_stats (const char *filename); void progman_dump_prereq (void); void progman_dump_depmap (void); -- cgit v1.2.1