171fc104fSHasso Tepper#!/bin/sh 271fc104fSHasso Tepper# 3e348c2adSSascha Wildner# $FreeBSD: head/etc/rc.d/devd 238416 2012-07-13 06:46:09Z kevlo $ 4e348c2adSSascha Wildner# 571fc104fSHasso Tepper 671fc104fSHasso Tepper# PROVIDE: devd 771fc104fSHasso Tepper# REQUIRE: netif network_ipv6 8*ce083385SAaron LI# BEFORE: NETWORKING 971fc104fSHasso Tepper# KEYWORD: nojail shutdown 1071fc104fSHasso Tepper 1171fc104fSHasso Tepper. /etc/rc.subr 1271fc104fSHasso Tepper 1371fc104fSHasso Teppername="devd" 14e348c2adSSascha Wildnerrcvar="devd_enable" 1571fc104fSHasso Teppercommand="/sbin/${name}" 1671fc104fSHasso Tepper 17e348c2adSSascha Wildnerstart_precmd=${name}_prestart 18e348c2adSSascha Wildnerstop_precmd=find_pidfile 19e348c2adSSascha Wildner 20e348c2adSSascha Wildnerfind_pidfile() 21e348c2adSSascha Wildner{ 22e348c2adSSascha Wildner if get_pidfile_from_conf pid-file /etc/devd.conf; then 23e348c2adSSascha Wildner pidfile="$_pidfile_from_conf" 24e348c2adSSascha Wildner else 25e348c2adSSascha Wildner pidfile="/var/run/${name}.pid" 26e348c2adSSascha Wildner fi 27e348c2adSSascha Wildner} 28e348c2adSSascha Wildner 29e348c2adSSascha Wildnerdevd_prestart() 30e348c2adSSascha Wildner{ 31e348c2adSSascha Wildner find_pidfile 3271fc104fSHasso Tepper 3371fc104fSHasso Tepper # If devd is disabled, turn it off in the kernel to avoid memory leaks. 3471fc104fSHasso Tepper if ! checkyesno ${rcvar}; then 35b0a4258dSAaron LI ${SYSCTL_W} hw.bus.devctl_disable=1 3671fc104fSHasso Tepper fi 37e348c2adSSascha Wildner} 38e348c2adSSascha Wildner 39e348c2adSSascha Wildnerload_rc_config $name 40e348c2adSSascha Wildnerrun_rc_command "$1" 41