xref: /freebsd/libexec/rc/rc.d/devd (revision e3898d552c9807b523ab3b0a66056520aa2e252a)
10696600cSBjoern A. Zeeb#!/bin/sh
20696600cSBjoern A. Zeeb#
30696600cSBjoern A. Zeeb#
40696600cSBjoern A. Zeeb
50696600cSBjoern A. Zeeb# PROVIDE: devd
6*e3898d55SWarner Losh# 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
1732a579e4SEugene Grosbeindevd_offcmd=devd_off
1832a579e4SEugene Grosbeinstart_precmd=find_pidfile
190696600cSBjoern A. Zeebstop_precmd=find_pidfile
200696600cSBjoern A. Zeeb
210696600cSBjoern A. Zeebfind_pidfile()
220696600cSBjoern A. Zeeb{
230696600cSBjoern A. Zeeb	if get_pidfile_from_conf pid-file /etc/devd.conf; then
240696600cSBjoern A. Zeeb		pidfile="$_pidfile_from_conf"
250696600cSBjoern A. Zeeb	else
260696600cSBjoern A. Zeeb		pidfile="/var/run/${name}.pid"
270696600cSBjoern A. Zeeb	fi
280696600cSBjoern A. Zeeb}
290696600cSBjoern A. Zeeb
3032a579e4SEugene Grosbeindevd_off()
310696600cSBjoern A. Zeeb{
320696600cSBjoern A. Zeeb	# If devd is disabled, turn it off in the kernel to avoid unnecessary
330696600cSBjoern A. Zeeb	# memory usage.
340696600cSBjoern A. Zeeb	if ! checkyesno ${rcvar}; then
350696600cSBjoern A. Zeeb	    $SYSCTL hw.bus.devctl_queue=0
360696600cSBjoern A. Zeeb	fi
370696600cSBjoern A. Zeeb}
380696600cSBjoern A. Zeeb
390696600cSBjoern A. Zeebload_rc_config $name
40f99f0ee1SAlexander Leidinger
41f99f0ee1SAlexander Leidinger# doesn't make sense to run in a svcj: executing potential privileged operations
42f99f0ee1SAlexander Leidingerdevd_svcj="NO"
43f99f0ee1SAlexander Leidinger
440696600cSBjoern A. Zeebrun_rc_command "$1"
45