summaryrefslogtreecommitdiff
path: root/system/sysklogd/sysklogd.initd
blob: c2355f4844cb9e1ff1b28094bba598564041f77b (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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/sbin/openrc-run
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2 or later
# $Header: /var/cvsroot/gentoo-x86/app-admin/sysklogd/files/sysklogd.rc7,v 1.1 2011/09/14 22:22:57 polynomial-c Exp $

extra_started_commands="reload"

depend() {
	need clock hostname localmount
	before net
	provide logger
}

start_daemon() {
	local retval=0
	local daemon="$1"
	local options="$2"

	[ -z "${daemon}" ] && return 1

	ebegin "sysklogd -> start: ${daemon}"
	start-stop-daemon --start --exec /usr/sbin/"${daemon}" \
		--pidfile /var/run/"${daemon}".pid -- ${options}
	retval=$?
	eend ${retval} "Failed to start ${daemon}"

	return ${retval}
}

stop_daemon() {
	local retval=0
	local daemon="$1"

	[ -z "${daemon}" ] && return 1

	ebegin "sysklogd -> stop: ${daemon}"
	# syslogd can be stubborn some times (--retry 15)...
	start-stop-daemon --stop --retry 15 --quiet --pidfile /var/run/"${daemon}".pid
	retval=$?
	eend ${retval} "Failed to stop ${daemon}"

	return ${retval}
}

start() {
	start_daemon "syslogd" "${SYSLOGD}" || return 1

	# klogd do not always start proper if started too early
	sleep 1

	if ! start_daemon "klogd" "${KLOGD}" ; then
		stop_daemon "syslogd"
		return 1
	fi

	return 0
}

stop() {
	stop_daemon "klogd" || return 1
	stop_daemon "syslogd" || return 1
	return 0
}

reload() {
	local ret=0

	ebegin "Reloading configuration"

	start-stop-daemon --signal HUP --pidfile /var/run/syslogd.pid
	ret=$((${ret} + $?))
	start-stop-daemon --signal USR1 --pidfile /var/run/klogd.pid
	ret=$((${ret} + $?))

	eend ${ret}
}