diff options
Diffstat (limited to 'src/rc/runscript.c')
-rw-r--r-- | src/rc/runscript.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/rc/runscript.c b/src/rc/runscript.c index 4fc12bfe..d0557307 100644 --- a/src/rc/runscript.c +++ b/src/rc/runscript.c @@ -519,6 +519,9 @@ svc_exec(const char *arg1, const char *arg2) } execok = rc_waitpid(service_pid) == 0 ? true : false; + if (!execok && errno == ECHILD) + /* killall5 -9 could cause this */ + execok = true; service_pid = 0; return execok; @@ -1009,8 +1012,6 @@ svc_stop(bool deps) (strcmp(runlevel, RC_LEVEL_SHUTDOWN) == 0 || strcmp(runlevel, - RC_LEVEL_REBOOT) == 0 || - strcmp(runlevel, RC_LEVEL_SINGLE) == 0)) continue; rc_service_mark(service, RC_SERVICE_FAILED); |