aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIhor Antonov <ihor@antonovs.family>2023-03-03 05:17:02 +0000
committerKyle Evans <kevans@FreeBSD.org>2023-03-03 05:17:02 +0000
commitcd1e6e70d001bea9e9e0220bdfdbd8b5dd9922de (patch)
tree534fb4a89cb86f0a5cff621d2ca8f5799dccefa2
parentbc43a9a7157a8249a492ee3efd8589369dd94228 (diff)
downloadsrc-cd1e6e70d001bea9e9e0220bdfdbd8b5dd9922de.tar.gz
src-cd1e6e70d001bea9e9e0220bdfdbd8b5dd9922de.zip
daemon: simplify if/else chain
Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/672
-rw-r--r--usr.sbin/daemon/daemon.c34
1 files 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);