diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2013-01-07 14:31:58 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2013-01-07 14:31:58 +0200 |
commit | 5d2eff82abf052d5edb8f201559cb6e17bbf158f (patch) | |
tree | 7151f3fc984021039be9549fc0017ce3fe30bb5c /src/pies.h | |
parent | 720f035564cbec85af84d1d9daff48d4068a4f3e (diff) | |
download | pies-5d2eff82abf052d5edb8f201559cb6e17bbf158f.tar.gz pies-5d2eff82abf052d5edb8f201559cb6e17bbf158f.tar.bz2 |
Fix sysvinit execution environment, simplify boot state system.
* src/pies.c (_cb_runlevels): Bugfix.
(set_console_dev): Move to sysvinit.c
* src/pies.h (progman_sysvinit_enable): Remove proto.
(console_open, telinit): New protos.
(sysvinit_environ_hint): New extern.
* src/prog.h (prog_stop): New proto.
* src/progman.c (env_concat): Bugfix.
(env_concat): In sysvinit mode, apply sysvinit_environ_hint
to the environment.
(console_open, console_stty): Move to sysvinit.c
* src/sysvinit.c (boot_state): Simplify state set.
(getinitdefault, askrunlevel): New functions.
(sysvinit_runlevel_setup): New function.
(enablecomp): Change signature to match progman_foreach API.
(sysvinit_begin): Prepare console, become a session leader,
prepare environment.
(inittrans): Call sysvinit_runlevel_setup
* src/socket.c (calc_fd_max): Fix return type.
* src/acl.c (acl_copy): Remove unused variable.
Diffstat (limited to 'src/pies.h')
-rw-r--r-- | src/pies.h | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -300,14 +300,12 @@ struct component *progman_lookup_tcpmux (const char *service, void progman_run_comp (struct component *comp, int fd, union pies_sockaddr_storage *sa, socklen_t salen); void progman_iterate_comp (int (*fun) (struct component *, void *), void *data); -void progman_sysvinit_enable (int (*fun) (struct component *, int, void *), - void *data); void fd_report (int fd, const char *msg); int check_acl (pies_acl_t acl, struct sockaddr *s, socklen_t salen); void log_setup (int want_stderr); @@ -459,12 +457,16 @@ struct inetd_builtin *inetd_builtin_lookup (const char *service, int socktype); /* sysvinit.c */ void sysvinit_begin (void); int inittrans (void); int is_comp_wait (struct component *comp); int is_valid_runlevel (int c); +int console_open (int mode); +int telinit (const char *arg); + +extern char *sysvinit_environ_hint[]; #ifndef INIT_FIFO # define INIT_FIFO "/dev/initctl" #endif #define INIT_MAGIC 0x03091969 |