xref: /dragonfly/etc/rc.d/devd (revision ce0833857e05eba4d13f3fd8a4d049ea68c5ffa4)
1#!/bin/sh
2#
3# $FreeBSD: head/etc/rc.d/devd 238416 2012-07-13 06:46:09Z kevlo $
4#
5
6# PROVIDE: devd
7# REQUIRE: netif network_ipv6
8# BEFORE:  NETWORKING
9# KEYWORD: nojail shutdown
10
11. /etc/rc.subr
12
13name="devd"
14rcvar="devd_enable"
15command="/sbin/${name}"
16
17start_precmd=${name}_prestart
18stop_precmd=find_pidfile
19
20find_pidfile()
21{
22          if get_pidfile_from_conf pid-file /etc/devd.conf; then
23                    pidfile="$_pidfile_from_conf"
24          else
25                    pidfile="/var/run/${name}.pid"
26          fi
27}
28
29devd_prestart()
30{
31          find_pidfile
32
33          # If devd is disabled, turn it off in the kernel to avoid memory leaks.
34          if ! checkyesno ${rcvar}; then
35              ${SYSCTL_W} hw.bus.devctl_disable=1
36          fi
37}
38
39load_rc_config $name
40run_rc_command "$1"
41