From 3c9cd3db20a2a4db6dea0c200f48df911c59de44 Mon Sep 17 00:00:00 2001 From: ajacoutot <> Date: Sun, 28 May 2017 09:31:45 +0000 Subject: [PATCH] When a daemon reaches its timeout when starting, display "timeout" instead of "ok" so the user is warned and has a chance to fix it (most of the time due to bogus flags). Daemons reaching the timeout without being able to start are still marked as "failed" (which should also give a clue to the user that some investigation is needed). prodded by beck@ a while ago discussed with and ok sthen@ --- src/etc/rc.d/rc.subr | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/etc/rc.d/rc.subr b/src/etc/rc.d/rc.subr index 0cf22716..5ea76459 100644 --- a/src/etc/rc.d/rc.subr +++ b/src/etc/rc.d/rc.subr @@ -1,4 +1,4 @@ -# $OpenBSD: rc.subr,v 1.121 2017/05/28 08:38:10 ajacoutot Exp $ +# $OpenBSD: rc.subr,v 1.122 2017/05/28 09:31:45 ajacoutot Exp $ # # Copyright (c) 2010, 2011, 2014-2017 Antoine Jacoutot # Copyright (c) 2010, 2011 Ingo Schwarze @@ -184,7 +184,7 @@ rc_stop() { } rc_cmd() { - local _n _ret + local _msg _n _ret [ -n "${1}" ] && echo "${_rc_actions}" | grep -qw -- ${1} || _rc_usage @@ -223,8 +223,10 @@ rc_cmd() { kill -ALRM ${_TIMERSUB} wait ${_TIMERSUB} 2>/dev/null # don't print Alarm clock [[ "${_ret}" == @(0|142) ]] && _rc_do rc_check || break + [[ "${_ret}" == 142 ]] && [ X"${rc_bg}" != X"YES" ] && + _msg="timeout" _rc_do _rc_write_runfile - _rc_exit ok + _rc_exit ${_msg:=ok} done # handle failure type rc_post >/dev/null && _rc_do rc_post