diff options
author | Ingo Schwarze <schwarze@cvs.openbsd.org> | 2011-10-09 16:46:56 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@cvs.openbsd.org> | 2011-10-09 16:46:56 +0000 |
commit | f69dddbdb4dc8b35eddd78677164d4280092188d (patch) | |
tree | 21afa8e551fc7a96ecef9b3df3ba741bcef75507 /etc/rc.d | |
parent | b28b74f31c5269285fa0fe39f0ace198ff21e0f4 (diff) |
When the _RC_RUNFILE (by some ill chance) happened to be empty or
reading it failed, ${pexp} ended up as the empty string and the script
would send SIGTERM to init(1), which was really inconvenient.
Fix that by never allowing pexp to become empty.
My patch considerably simplified by and ok ajacoutot@.
Diffstat (limited to 'etc/rc.d')
-rw-r--r-- | etc/rc.d/rc.subr | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/etc/rc.d/rc.subr b/etc/rc.d/rc.subr index 5c45d5fa058..58af023f9c3 100644 --- a/etc/rc.d/rc.subr +++ b/etc/rc.d/rc.subr @@ -1,4 +1,4 @@ -# $OpenBSD: rc.subr,v 1.52 2011/10/09 08:48:53 ajacoutot Exp $ +# $OpenBSD: rc.subr,v 1.53 2011/10/09 16:46:55 schwarze Exp $ # # Copyright (c) 2010, 2011 Antoine Jacoutot <ajacoutot@openbsd.org> # Copyright (c) 2010, 2011 Ingo Schwarze <schwarze@openbsd.org> @@ -34,7 +34,8 @@ rc_write_runfile() { } rc_read_runfile() { - [ -f ${_RC_RUNFILE} ] && pexp=$(< ${_RC_RUNFILE}) + [ -f ${_RC_RUNFILE} ] && local _new_pexp=$(< ${_RC_RUNFILE}) + [ -n "${_new_pexp}" ] && pexp="${_new_pexp}" } rc_rm_runfile() { |