Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Sep 2025 12:59:07 GMT
From:      Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= <des@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 5953e7c98427 - main - rc.subr: Move the sleep in wait_for_pids
Message-ID:  <202509231259.58NCx7X0004779@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by des:

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

commit 5953e7c98427e038500221e885dffa181dcc064b
Author:     Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2025-09-23 12:55:56 +0000
Commit:     Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2025-09-23 12:55:56 +0000

    rc.subr: Move the sleep in wait_for_pids
    
    Instead of sleeping while constructing the list of PIDs to wait for,
    sleep briefly after pwait to give init a chance to reap the processes
    that just terminated before we loop around and start probing them.
    
    PR:             289630
    Reviewed by:    allanjude
    Differential Revision:  https://reviews.freebsd.org/D52619
---
 libexec/rc/rc.subr | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libexec/rc/rc.subr b/libexec/rc/rc.subr
index 06b1bd51384c..6be226021949 100644
--- a/libexec/rc/rc.subr
+++ b/libexec/rc/rc.subr
@@ -804,7 +804,6 @@ wait_for_pids()
 		for _j in $_list; do
 			if kill -0 $_j 2>/dev/null; then
 				_nlist="${_nlist}${_nlist:+ }$_j"
-				[ -n "$_prefix" ] && sleep 1
 			fi
 		done
 		if [ -z "$_nlist" ]; then
@@ -814,6 +813,10 @@ wait_for_pids()
 		echo -n ${_prefix:-"Waiting for PIDS: "}$_list
 		_prefix=", "
 		pwait -o $_list 2>/dev/null
+		# At least one of the processes we were waiting for
+		# has terminated.  Give init a chance to collect it
+		# before looping around and checking again.
+		sleep 1
 	done
 	if [ -n "$_prefix" ]; then
 		echo "."



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202509231259.58NCx7X0004779>