aboutsummaryrefslogtreecommitdiff
path: root/libexec/rc
diff options
context:
space:
mode:
Diffstat (limited to 'libexec/rc')
-rwxr-xr-xlibexec/rc/rc.d/blacklistd2
-rwxr-xr-x[-rw-r--r--]libexec/rc/rc.d/blocklistd2
-rw-r--r--libexec/rc/rc.subr43
3 files changed, 22 insertions, 25 deletions
diff --git a/libexec/rc/rc.d/blacklistd b/libexec/rc/rc.d/blacklistd
index 9157e258f43f..175e3e8c56b3 100755
--- a/libexec/rc/rc.d/blacklistd
+++ b/libexec/rc/rc.d/blacklistd
@@ -29,7 +29,7 @@
#
# PROVIDE: blacklistd
-# REQUIRE: netif pf
+# REQUIRE: netif ipfilter ipfw pf
. /etc/rc.subr
diff --git a/libexec/rc/rc.d/blocklistd b/libexec/rc/rc.d/blocklistd
index 24cbae77fd40..f979162ec3e0 100644..100755
--- a/libexec/rc/rc.d/blocklistd
+++ b/libexec/rc/rc.d/blocklistd
@@ -29,7 +29,7 @@
#
# PROVIDE: blocklistd
-# REQUIRE: netif pf
+# REQUIRE: netif ipfilter ipfw pf
. /etc/rc.subr
diff --git a/libexec/rc/rc.subr b/libexec/rc/rc.subr
index 6be226021949..e4ad14f582d6 100644
--- a/libexec/rc/rc.subr
+++ b/libexec/rc/rc.subr
@@ -121,11 +121,22 @@ dotted=
dot()
{
local f verify
+ local dot_dir dot_file
o_verify_set off verify
for f in "$@"; do
if [ -f $f -a -s $f ]; then
dotted="$dotted $f"
+ case $f in
+ */*)
+ dot_dir=${f%/*}
+ dot_file=${f##*/}
+ ;;
+ *)
+ dot_dir=.
+ dot_file=$f
+ ;;
+ esac
. $f
fi
done
@@ -152,8 +163,7 @@ vdot()
for f in "$@"; do
[ -f $f -a -s $f ] || continue
if is_verified $f 2> /dev/null; then
- dotted="$dotted $f"
- . $f
+ dot $f
else
rc=80 # EAUTH
fi
@@ -792,31 +802,18 @@ sort_lite()
#
wait_for_pids()
{
- local _list _prefix _nlist _j
+ local _list _prefix _j
- _list="$@"
- if [ -z "$_list" ]; then
- return
- fi
- _prefix=
- while true; do
- _nlist=""
- for _j in $_list; do
- if kill -0 $_j 2>/dev/null; then
- _nlist="${_nlist}${_nlist:+ }$_j"
- fi
- done
- if [ -z "$_nlist" ]; then
- break
+ for _j in "$@"; do
+ if kill -0 $_j 2>/dev/null; then
+ _list="${_list}${_list:+ }$_j"
fi
- _list=$_nlist
+ done
+ _prefix=
+ while [ -n "$_list" ]; do
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
+ _list=$(pwait -op $_list 2>/dev/null)
done
if [ -n "$_prefix" ]; then
echo "."