git: cd1e6e70d001 - main - daemon: simplify if/else chain
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 03 Mar 2023 05:17:25 UTC
The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=cd1e6e70d001bea9e9e0220bdfdbd8b5dd9922de commit cd1e6e70d001bea9e9e0220bdfdbd8b5dd9922de Author: Ihor Antonov <ihor@antonovs.family> AuthorDate: 2023-03-03 05:17:02 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-03-03 05:17:02 +0000 daemon: simplify if/else chain Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/672 --- usr.sbin/daemon/daemon.c | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index 5c636bcd0a03..2274a3e253a0 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -452,22 +452,16 @@ restart: */ if (child_gone && child_eof) { break; - } else if (terminate) { + } + + if (terminate) { goto exit; - } else if (!child_eof) { - if (sigprocmask(SIG_BLOCK, &mask_read, NULL)) { - warn("sigprocmask"); - goto exit; - } - child_eof = !listen_child(pfd[0], &logparams); - if (sigprocmask(SIG_UNBLOCK, &mask_read, NULL)) { - warn("sigprocmask"); - goto exit; - } - } else { + } + + if (child_eof) { if (sigprocmask(SIG_BLOCK, &mask_susp, NULL)) { warn("sigprocmask"); - goto exit; + goto exit; } while (!terminate && !child_gone) sigsuspend(&mask_orig); @@ -475,7 +469,21 @@ restart: warn("sigprocmask"); goto exit; } + continue; + } + + if (sigprocmask(SIG_BLOCK, &mask_read, NULL)) { + warn("sigprocmask"); + goto exit; } + + child_eof = !listen_child(pfd[0], &logparams); + + if (sigprocmask(SIG_UNBLOCK, &mask_read, NULL)) { + warn("sigprocmask"); + goto exit; + } + } if (restart && !terminate) { daemon_sleep(restart, 0);