From 7438b7a3203502cf5a61be4cc8e8fe4c98baa6d1 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Fri, 7 Apr 2023 14:58:41 +0000 Subject: Simplify selfpipe management Signed-off-by: Laurent Bercot --- src/s6-rc/s6-rc.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/s6-rc/s6-rc.c b/src/s6-rc/s6-rc.c index 0496239..e4822a3 100644 --- a/src/s6-rc/s6-rc.c +++ b/src/s6-rc/s6-rc.c @@ -389,9 +389,9 @@ static inline int handle_signals (int h) } } -static int doit (int spfd, int h) +static int doit (int h) { - iopause_fd x = { .fd = spfd, .events = IOPAUSE_READ } ; + iopause_fd x = { .fd = selfpipe_fd(), .events = IOPAUSE_READ } ; int exitcode = 0 ; unsigned int i = n ; pidindex_t pidindexblob[n] ; @@ -554,7 +554,6 @@ int main (int argc, char const *const *argv) /* Allocate enough stack for the db */ { - int spfd ; s6rc_service_t serviceblob[n] ; char const *argvblob[dbblob.nargvs] ; uint32_t depsblob[dbblob.ndeps << 1] ; @@ -658,8 +657,7 @@ int main (int argc, char const *const *argv) /* Perform a state change */ - spfd = selfpipe_init() ; - if (spfd < 0) strerr_diefu1sys(111, "init selfpipe") ; + if (selfpipe_init() == -1) strerr_diefu1sys(111, "init selfpipe") ; { sigset_t set ; sigemptyset(&set) ; @@ -674,12 +672,12 @@ int main (int argc, char const *const *argv) { int r ; if (up) invert_selection() ; - r = doit(spfd, 0) ; + r = doit(0) ; if (r) return r ; invert_selection() ; - return doit(spfd, 1) ; + return doit(1) ; } - else return doit(spfd, up) ; + else return doit(up) ; } } } -- cgit v1.2.3