#!/sbin/runscript # Copyright 1999-2005 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.rc6,v 1.10 2005/02/12 00:59:21 vapier Exp $ opts="reload" depend() { need clock hostname provide logger } start_daemon() { local retval=0 local daemon=$1 local options=$2 [[ -z ${daemon} ]] && return 1 [[ -n ${options} ]] && options="-- ${options}" ebegin "sysklogd -> start: ${daemon}" start-stop-daemon --start --quiet --background \ --exec /usr/sbin/${daemon} ${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 --oknodo --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 start_daemon "klogd" "${KLOGD}" || { if [[ -n $(pidof syslogd) ]] ; then stop_daemon "syslogd" fi return 1 } return 0 } stop() { stop_daemon "klogd" || return 1 # Give klogd time to stop sleep 1 stop_daemon "syslogd" || { if [[ -n $(pidof syslogd) ]] ; then # Not sure if we should really try to start # klogd again ... start_daemon "klogd" "${KLOGD}" fi return 1 } return 0 } reload() { local ret=0 ebegin "Reloading configuration" killall -HUP syslogd &> /dev/null ; ret=$((ret+$?)) killall -USR2 klogd &> /dev/null ; ret=$((ret+$?)) eend ${ret} }