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>
MFC after:	1 week
Sponsored by:	Dell Inc.
Differential Revision:	https://reviews.freebsd.org/D6727
This commit is contained in:
Eric van Gyzen 2016-06-06 22:54:08 +00:00
parent cfbe2911c9
commit c152ba971f
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=301532

View File

@ -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);
}
}
}
/*