Module Name: src Committed By: phx Date: Sat Oct 31 12:31:37 UTC 2015
Modified Files: src/etc: rc.subr Log Message: PR misc/50046 Remove the expensive tests in _have_rc_postprocessor(), as proposed by apb@. It more than halves the multiuser boot time on slow machines and brings it back near to the previous level. To generate a diff of this commit: cvs rdiff -u -r1.96 -r1.97 src/etc/rc.subr Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/etc/rc.subr diff -u src/etc/rc.subr:1.96 src/etc/rc.subr:1.97 --- src/etc/rc.subr:1.96 Tue Oct 7 19:09:45 2014 +++ src/etc/rc.subr Sat Oct 31 12:31:37 2015 @@ -1,4 +1,4 @@ -# $NetBSD: rc.subr,v 1.96 2014/10/07 19:09:45 roy Exp $ +# $NetBSD: rc.subr,v 1.97 2015/10/31 12:31:37 phx Exp $ # # Copyright (c) 1997-2011 The NetBSD Foundation, Inc. # All rights reserved. @@ -814,19 +814,9 @@ $command $rc_flags $command_args" _have_rc_postprocessor() { # Cheap tests that fd and pid are set, fd is writable. - [ -n "${_rc_postprocessor_fd}" ] || return 1 - [ -n "${_rc_pid}" ] || return 1 - eval ": >&${_rc_postprocessor_fd}" 2>/dev/null || return 1 - - # More expensive test that pid is running. - # Unset _rc_pid if this fails. - kill -0 "${_rc_pid}" 2>/dev/null \ - || { unset _rc_pid; return 1; } - - # More expensive test that pid appears to be - # a shell running an rc script. - # Unset _rc_pid if this fails. - expr "$(ps -p "${_rc_pid}" -o command=)" : ".*sh .*/rc.*" >/dev/null \ + [ -n "${_rc_pid}" ] || { unset _rc_pid; return 1; } + [ -n "${_rc_postprocessor_fd}" ] || { unset _rc_pid; return 1; } + eval ": >&${_rc_postprocessor_fd}" 2>/dev/null \ || { unset _rc_pid; return 1; } return 0