The branch main has been updated by kevans:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=cd1e6e70d001bea9e9e0220bdfdbd8b5dd9922de

commit cd1e6e70d001bea9e9e0220bdfdbd8b5dd9922de
Author:     Ihor Antonov <[email protected]>
AuthorDate: 2023-03-03 05:17:02 +0000
Commit:     Kyle Evans <[email protected]>
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);

Reply via email to