summaryrefslogtreecommitdiffstats
path: root/etc/rc.d/devd
diff options
context:
space:
mode:
authordougb <dougb@FreeBSD.org>2011-04-23 04:26:31 +0000
committerdougb <dougb@FreeBSD.org>2011-04-23 04:26:31 +0000
commitd05cc95927280821298e08e1be9fe78cc987ad6c (patch)
tree19cd95ff052dd0f9ab092912f12efc9fa1559f6b /etc/rc.d/devd
parent44325abfea7570a22af7a54f3a32c64fa462744f (diff)
downloadFreeBSD-src-d05cc95927280821298e08e1be9fe78cc987ad6c.zip
FreeBSD-src-d05cc95927280821298e08e1be9fe78cc987ad6c.tar.gz
Introduce to rc.subr get_pidfile_from_conf(). It does just what it sounds
like, determines the path to a pid file as it is specified in a conf file. Use the new feature for rc.d/named and rc.d/devd, the 2 services in the base that list their pid files in their conf files. Remove the now-obsolete named_pidfile, and warn users if they have it set.
Diffstat (limited to 'etc/rc.d/devd')
-rwxr-xr-xetc/rc.d/devd13
1 files changed, 12 insertions, 1 deletions
diff --git a/etc/rc.d/devd b/etc/rc.d/devd
index a126645..e257da6 100755
--- a/etc/rc.d/devd
+++ b/etc/rc.d/devd
@@ -13,12 +13,23 @@
name="devd"
rcvar=`set_rcvar`
command="/sbin/${name}"
-pidfile=/var/run/${name}.pid
start_precmd=${name}_prestart
+stop_precmd=find_pidfile
+
+find_pidfile()
+{
+ if get_pidfile_from_conf pid-file /etc/devd.conf; then
+ pidfile="$_pidfile_from_conf"
+ else
+ pidfile="/var/run/${name}.pid"
+ fi
+}
devd_prestart ()
{
+ find_pidfile
+
# If devd is disabled, turn it off in the kernel to avoid memory leaks.
if ! checkyesno ${rcvar}; then
$SYSCTL hw.bus.devctl_disable=1
OpenPOWER on IntegriCloud