···11+When /bin/sh is bash, this code doesn't work right - bash has a "tail call"
22+optimization where the last command in a finite script will be run as if with
33+exec instead of forking a new shell. rc here expects `pkill -P $$` (kill all
44+processes with parent pid == shell) to effectively background a process, but
55+instead it kills it!
66+77+diff --git a/etc/rc.d/rc.subr b/etc/rc.d/rc.subr
88+index 1f872f0ebc8..0c32b00e2ef 100644
99+--- a/etc/rc.d/rc.subr
1010++++ b/etc/rc.d/rc.subr
1111+@@ -178,7 +178,7 @@ rc_exec() {
1212+ ${daemon_execdir:+cd ${daemon_execdir} && } \
1313+ $@ \
1414+ ${daemon_logger:+ 2>&1 |
1515+- logger -isp ${daemon_logger} -t ${_name}}"
1616++ logger -isp ${daemon_logger} -t ${_name}}; exit"
1717+ }
1818+1919+ rc_start() {