aboutsummaryrefslogtreecommitdiff
path: root/sinit.c
AgeCommit message (Collapse)AuthorLines
2014-02-08Remove Arg - it is a leftover from when we had the FIFO codesin-12/+7
2014-02-07No need for sigfd to be defined at file scopesin-2/+1
2014-02-07*p points to program namesin-1/+1
2014-02-07signum is unused - get rid of itsin-2/+0
2014-02-07Close signalfd fd on execsin-1/+1
2014-02-07Don't nest too muchsin-11/+13
2014-02-07We'll get a SIGCHLD so no need to double-forksin-7/+0
2014-02-07Don't process incomplete readssin-0/+2
If that can ever happen...
2014-02-07Some more error checking just to be suresin-5/+8
2014-02-07Poweroff on SIGUSR1sin-2/+10
2014-02-07Remove FIFO from sinitsin-59/+3
We can just run /bin/rc.shutdown reboot|poweroff etc. It complicates things when rootfs is mounted as ro etc.
2014-02-07Don't leak the fifofd if we re-init the fifosin-0/+2
2014-02-07Refactor codesin-37/+86
We no longer have two processes, one for reaping children and another for handling the FIFO. Use signalfd() to multiplex signal handling and reading from the FIFO. This setup will also allow us to capture ctrl-alt-del and to work with a read-only rootfs. To create the FIFO, we send a SIGHUP signal to init from our init scripts.
2014-02-07Allow fifopath to be NULLsin-0/+3
In that case we do not use the FIFO at all.
2014-02-07Pass the actual FIFO path to weprintf()sin-1/+1
2014-02-07Use the double fork trick to properly reap spawned processessin-4/+11
2014-02-06Create a new session as quickly as possiblesin-0/+1
2014-02-06Use a double pointersin-2/+2
2014-02-06Inform the user when execvp() failssin-0/+1
2014-02-06We don't use err.h so remove itsin-1/+0
2014-02-06Factor out the rc commandssin-18/+6
2014-02-06rc has now been renamed to rc.initsin-1/+1
2014-02-06Be less harsh and don't error out entirelysin-14/+14
2014-02-06Initial commitsin-0/+129