xref: /freebsd/libexec/rc/rc.d/devd (revision f99f0ee14e3af81c23150a6a340259ca8a33d01a)
10696600cSBjoern A. Zeeb#!/bin/sh
20696600cSBjoern A. Zeeb#
30696600cSBjoern A. Zeeb#
40696600cSBjoern A. Zeeb
50696600cSBjoern A. Zeeb# PROVIDE: devd
60696600cSBjoern A. Zeeb# REQUIRE: netif ldconfig
70696600cSBjoern A. Zeeb# BEFORE: NETWORKING mountcritremote
80696600cSBjoern A. Zeeb# KEYWORD: nojail shutdown
90696600cSBjoern A. Zeeb
100696600cSBjoern A. Zeeb. /etc/rc.subr
110696600cSBjoern A. Zeeb
120696600cSBjoern A. Zeebname="devd"
130696600cSBjoern A. Zeebdesc="Device state change daemon"
140696600cSBjoern A. Zeebrcvar="devd_enable"
150696600cSBjoern A. Zeebcommand="/sbin/${name}"
160696600cSBjoern A. Zeeb
170696600cSBjoern A. Zeebstart_precmd=${name}_prestart
180696600cSBjoern A. Zeebstop_precmd=find_pidfile
190696600cSBjoern A. Zeeb
200696600cSBjoern A. Zeebfind_pidfile()
210696600cSBjoern A. Zeeb{
220696600cSBjoern A. Zeeb	if get_pidfile_from_conf pid-file /etc/devd.conf; then
230696600cSBjoern A. Zeeb		pidfile="$_pidfile_from_conf"
240696600cSBjoern A. Zeeb	else
250696600cSBjoern A. Zeeb		pidfile="/var/run/${name}.pid"
260696600cSBjoern A. Zeeb	fi
270696600cSBjoern A. Zeeb}
280696600cSBjoern A. Zeeb
290696600cSBjoern A. Zeebdevd_prestart()
300696600cSBjoern A. Zeeb{
310696600cSBjoern A. Zeeb	find_pidfile
320696600cSBjoern A. Zeeb
330696600cSBjoern A. Zeeb	# If devd is disabled, turn it off in the kernel to avoid unnecessary
340696600cSBjoern A. Zeeb	# memory usage.
350696600cSBjoern A. Zeeb	if ! checkyesno ${rcvar}; then
360696600cSBjoern A. Zeeb	    $SYSCTL hw.bus.devctl_queue=0
370696600cSBjoern A. Zeeb	fi
380696600cSBjoern A. Zeeb}
390696600cSBjoern A. Zeeb
400696600cSBjoern A. Zeebload_rc_config $name
41*f99f0ee1SAlexander Leidinger
42*f99f0ee1SAlexander Leidinger# doesn't make sense to run in a svcj: executing potential privileged operations
43*f99f0ee1SAlexander Leidingerdevd_svcj="NO"
44*f99f0ee1SAlexander Leidinger
450696600cSBjoern A. Zeebrun_rc_command "$1"
46