Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/etc PR misc/50046
details: https://anonhg.NetBSD.org/src/rev/5a2249e95401
branches: trunk
changeset: 811480:5a2249e95401
user: phx <phx%NetBSD.org@localhost>
date: Sat Oct 31 12:31:37 2015 +0000
description:
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.
diffstat:
etc/rc.subr | 18 ++++--------------
1 files changed, 4 insertions(+), 14 deletions(-)
diffs (32 lines):
diff -r 3ee4a0cde321 -r 5a2249e95401 etc/rc.subr
--- a/etc/rc.subr Sat Oct 31 09:14:27 2015 +0000
+++ b/etc/rc.subr Sat Oct 31 12:31:37 2015 +0000
@@ -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 @@
_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
Home |
Main Index |
Thread Index |
Old Index