aboutsummaryrefslogtreecommitdiff
path: root/etc/rc.d/statd
blob: 4e4a0a4cac3e8a80eb55edf1ab01b514d40aa545 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/sh
#
# FreeBSD History: src/etc/rc.d/nfslocking,v 1.11 2004/10/07 13:55:26 mtm Exp
# $FreeBSD$
#

# PROVIDE: statd
# REQUIRE: nfsclient nfsd rpcbind
# BEFORE:  DAEMON
# KEYWORD: nojail shutdown

. /etc/rc.subr

name="statd"
rcvar=rpc_statd_enable
command="/usr/sbin/rpc.${name}"
start_precmd='statd_precmd'
stop_precmd='checkyesno nfs_server_enable || checkyesno nfs_client_enable'
status_precmd=$stop_precmd

# Make sure that we are either an NFS client or server, and that we get
# the correct flags from rc.conf(5).
#
statd_precmd()
{
	local ret
	ret=0

	if ! checkyesno nfs_server_enable && ! checkyesno nfs_client_enable
	then
		ret=1
	fi
	if ! checkyesno rpcbind_enable && \
	    ! /etc/rc.d/rpcbind forcestatus 1>/dev/null 2>&1
	then
		force_depend rpcbind || ret=1
	fi
	rc_flags=${rpc_statd_flags}
	return ${ret}
}

load_rc_config $name
run_rc_command $1