diff options
author | vangyzen <vangyzen@FreeBSD.org> | 2016-06-15 14:11:49 +0000 |
---|---|---|
committer | vangyzen <vangyzen@FreeBSD.org> | 2016-06-15 14:11:49 +0000 |
commit | 9c6df47b0b5a693febb34753474f22cbc8e6cdc4 (patch) | |
tree | 16b7eb59f14f98878dc0a4541d1a0e2c1e59ac51 /usr.sbin/newsyslog | |
parent | adcbd6078cdba63955b35520c2de1da801bc7625 (diff) | |
download | FreeBSD-src-9c6df47b0b5a693febb34753474f22cbc8e6cdc4.zip FreeBSD-src-9c6df47b0b5a693febb34753474f22cbc8e6cdc4.tar.gz |
MFC r301532
newsyslog: Eliminate unnecessary sleep(10) when -R and -s are specified
After going through the signal work list, during which do_sigwork()
is called and essentially does nothing because -s and -R were
specified on the command line, newsyslog will sleep for 10 seconds
as the (verbose) code says: "Pause 10 seconds to allow daemon(s)
to close log file(s)".
However, the man page verbiage for -R (and -s) seems quite clear
that this sleep() is unnecessary because the daemon was expected
to have already closed the log file before calling newsyslog.
PR: 210020
Submitted by: David A. Bright <david_a_bright@dell.com>
Sponsored by: Dell Inc.
Diffstat (limited to 'usr.sbin/newsyslog')
-rw-r--r-- | usr.sbin/newsyslog/newsyslog.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/usr.sbin/newsyslog/newsyslog.c b/usr.sbin/newsyslog/newsyslog.c index f405bf8..34dd521 100644 --- a/usr.sbin/newsyslog/newsyslog.c +++ b/usr.sbin/newsyslog/newsyslog.c @@ -333,13 +333,15 @@ main(int argc, char **argv) printf("Signal all daemon process(es)...\n"); SLIST_FOREACH(stmp, &swhead, sw_nextp) do_sigwork(stmp); - if (noaction) - printf("\tsleep 10\n"); - else { - if (verbose) - printf("Pause 10 seconds to allow daemon(s)" - " to close log file(s)\n"); - sleep(10); + if (!(rotatereq && nosignal)) { + if (noaction) + printf("\tsleep 10\n"); + else { + if (verbose) + printf("Pause 10 seconds to allow " + "daemon(s) to close log file(s)\n"); + sleep(10); + } } } /* |