From nobody Thu Mar 2 03:01:00 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PRwph3Zkvz3vjt0; Thu, 2 Mar 2023 03:01:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PRwph2M1Gz44Fm; Thu, 2 Mar 2023 03:01:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1677726060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PQLGq3pGzoSGYDIcvj/5YISYHWrsrjEDoXiAcm4L/PE=; b=Y+oOnZTFF/lGCZ+cGrGc3kRJa4tJrUOOsgkTrkXUpFQtFKBj2WSWRS16dRxXDinzrCws5S tO7uPJJzgj+YT5Ppt1c/pte0/O52mOAbDhDuttF2VvdzhCXKVgFsWJr+0BBCKt3dVFCJl1 iQfe/0fWSGhiSe+kYANacf7CGSVAXRxnMWS7HD7nXQsfoeC199FiQmJWwboUW01YruzGi+ bAGCJZKDhaJazyE16Y628A2zdCUjnBqafsTFUsPGlAzxngRAfOWPK8QuSOaa8kvOFXTWU8 rtp8IwFedlP28gpgIRTW0eq3YXIW3LZ41oM/hDmr7eiRKiIqL3+pEUvG5gt60g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1677726060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PQLGq3pGzoSGYDIcvj/5YISYHWrsrjEDoXiAcm4L/PE=; b=qcdNv4hATnAkH7J8cFFZy6hIXFOYxet3vzyIvHioVRG2KXiDL9t44JVn5PLLzb6EcBpzkD R5+H0kUDSgW7dpPxeQ5yi/O43i+Mzq8hVAhynG1KatAnP8ZpR9Bk8lco60ZeGQJX6b/WDx TpBfyg2DA3gGu8ntATtBD4IrYC7nKOf1Hwkcu1vw0xJb/P8+cKulbb1k0pPfnbLUJDIVbw AorjZVpq3B83eTzkbKLSnjkY4Lt2sPWy0VNYVDqW5LaEnCZFUjolP3eQ2rZqly5yD3S4GT KLewGPEH2HKd4mqIEh+fr8vG11hDd0jPKhHjL/fdEE31FpO5DJYA2vGandXDOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1677726060; a=rsa-sha256; cv=none; b=aXBN6LcvhHFnPpJ4g1F9iitTDpridHTsmh0U3KueyvFAapuS5OgqC+TJAutRgcJxWOmvQh rvE1LvFWa67jBKc7Ss+Il53sjH3Xmmr6l18cOIMH/fWpbcRaqr6Mz4hLFmz8JkhLL74Q2S S7nolBiv0YcQ51Sja6Rjo9sT9+z9nEGosrP50y3wGXwHcO9dbp0yAQAqHLp6r9BT0sL9DK IDuHD9zC/y40D9u91n0Vhqe0aXLrjsGlSn4U+eGNgMSD4GwTdcjgcMwvX7QfkeU0I526KT KgUMWByUqo98IbIR5DTFpLIMUW+UDvGiAN1I9MssRH1WSGxvIL8rpgF6L7bNSQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PRwph1QJZz10DP; Thu, 2 Mar 2023 03:01:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 322310SR032482; Thu, 2 Mar 2023 03:01:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 322310VJ032468; Thu, 2 Mar 2023 03:01:00 GMT (envelope-from git) Date: Thu, 2 Mar 2023 03:01:00 GMT Message-Id: <202303020301.322310VJ032468@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: e745dc2287ac - main - daemon: consolidate variable declarations and initializaions List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e745dc2287ac4844c1a21aaa31d0bc3dad6b1b06 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=e745dc2287ac4844c1a21aaa31d0bc3dad6b1b06 commit e745dc2287ac4844c1a21aaa31d0bc3dad6b1b06 Author: Ihor Antonov AuthorDate: 2023-03-02 03:00:41 +0000 Commit: Kyle Evans CommitDate: 2023-03-02 03:00:41 +0000 daemon: consolidate variable declarations and initializaions - improve readability by breaking apart single-line multi-variable declarations - initialize simple variables at declaration site - move other top-level variable initializations closer declarations to avoid potential UB and unclutter the use-site. Reviewed by: kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/669 --- usr.sbin/daemon/daemon.c | 63 +++++++++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 28 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index f9c1f73e193c..c8ccd8f892fa 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -79,8 +79,10 @@ static void open_pid_files(const char *, const char *, struct pidfh **, static void do_output(const unsigned char *, size_t, struct log_params *); static void daemon_sleep(time_t, long); -static volatile sig_atomic_t terminate = 0, child_gone = 0, pid = 0, - do_log_reopen = 0; +static volatile sig_atomic_t terminate = 0; +static volatile sig_atomic_t child_gone = 0; +static volatile sig_atomic_t pid = 0; +static volatile sig_atomic_t do_log_reopen = 0; static const char shortopts[] = "+cfHSp:P:ru:o:s:l:t:m:R:T:h"; @@ -139,27 +141,37 @@ usage(int exitcode) int main(int argc, char *argv[]) { - const char *pidfile, *ppidfile, *title, *user, *outfn, *logtag; - int ch, nochdir, noclose, restart, dosyslog, child_eof; - sigset_t mask_susp, mask_orig, mask_read, mask_term; - struct log_params logpar; - int pfd[2] = { -1, -1 }, outfd = -1; - int stdmask, logpri, logfac, log_reopen; - struct pidfh *ppfh, *pfh; - char *p; - - memset(&logpar, 0, sizeof(logpar)); - stdmask = STDOUT_FILENO | STDERR_FILENO; - ppidfile = pidfile = user = NULL; - nochdir = noclose = 1; - logpri = LOG_NOTICE; - logfac = LOG_DAEMON; - logtag = "daemon"; - restart = 0; - dosyslog = 0; - log_reopen = 0; - outfn = NULL; - title = NULL; + char *p = NULL; + const char *pidfile = NULL; + const char *logtag = "daemon"; + const char *outfn = NULL; + const char *ppidfile = NULL; + const char *title = NULL; + const char *user = NULL; + int ch = 0; + int child_eof = 0; + int dosyslog = 0; + int log_reopen = 0; + int logfac = LOG_DAEMON; + int logpri = LOG_NOTICE; + int nochdir = 1; + int noclose = 1; + int outfd = -1; + int pfd[2] = { -1, -1 }; + int restart = 0; + int stdmask = STDOUT_FILENO | STDERR_FILENO; + struct log_params logpar = { 0 }; + struct pidfh *ppfh = NULL; + struct pidfh *pfh = NULL; + sigset_t mask_orig; + sigset_t mask_read; + sigset_t mask_term; + sigset_t mask_susp; + + sigemptyset(&mask_susp); + sigemptyset(&mask_read); + sigemptyset(&mask_term); + while ((ch = getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { switch (ch) { case 'c': @@ -251,7 +263,6 @@ main(int argc, char *argv[]) openlog(logtag, LOG_PID | LOG_NDELAY, logfac); } - ppfh = pfh = NULL; /* * Try to open the pidfile before calling daemon(3), * to be able to report the error intelligently @@ -294,18 +305,15 @@ main(int argc, char *argv[]) sigemptyset(&act_hup.sa_mask); /* Block these when avoiding racing before sigsuspend(). */ - sigemptyset(&mask_susp); sigaddset(&mask_susp, SIGTERM); sigaddset(&mask_susp, SIGCHLD); /* Block SIGTERM when we lack a valid child PID. */ - sigemptyset(&mask_term); sigaddset(&mask_term, SIGTERM); /* * When reading, we wish to avoid SIGCHLD. SIGTERM * has to be caught, otherwise we'll be stuck until * the read() returns - if it returns. */ - sigemptyset(&mask_read); sigaddset(&mask_read, SIGCHLD); /* Block SIGTERM to avoid racing until we have forked. */ if (sigprocmask(SIG_BLOCK, &mask_term, &mask_orig)) { @@ -406,7 +414,6 @@ restart: * might have closed its stdout and stderr, so we must wait for * the SIGCHLD to ensure that the process is actually gone. */ - child_eof = 0; for (;;) { /* * We block SIGCHLD when listening, but SIGTERM we accept