#!/sbin/openrc-run # Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License, v2 or later extra_started_commands="reload" depend() { need clock hostname provide logger } has_klogd() { [ -x "/usr/sbin/klogd" ] } start_daemon() { local retval=0 local daemon="$1" local options="$2" local fg_opt="" ebegin "sysklogd -> start: ${daemon}" start-stop-daemon --start --exec /usr/sbin/"${daemon}" \ -b -m --pidfile /var/run/"${daemon}".pid \ -- -F ${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 has_klogd && ! start_daemon "klogd" "${KLOGD}" ; then stop_daemon "syslogd" return 1 fi return 0 } stop() { if has_klogd ; then stop_daemon "klogd" || return 1 fi 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} + $?)) if has_klogd ; then start-stop-daemon --signal USR1 --pidfile /var/run/klogd.pid ret=$((${ret} + $?)) fi eend ${ret} }