diff options
| author | Doug Freed <dwfreed@mtu.edu> | 2017-11-29 15:10:39 -0500 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-11-29 15:10:39 -0500 | 
| commit | c84ebb94d19ca856fe064e15d2068d5671e360c9 (patch) | |
| tree | 69660ab832640a973cfa4727fbc37596ff5d6583 /src | |
| parent | 3de6395ae3b8780ab501f3cf8688e1cb2a9f0243 (diff) | |
| download | openrc-c84ebb94d19ca856fe064e15d2068d5671e360c9.tar.xz | |
start-stop-daemon: properly handle missing pidfile
X-Gentoo-Bug: 639218
X-Gentoo-Bug-URL: https://bugs.gentoo.org/639218
Diffstat (limited to 'src')
| -rw-r--r-- | src/rc/start-stop-daemon.c | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/src/rc/start-stop-daemon.c b/src/rc/start-stop-daemon.c index e98f8ba3..54b89b2a 100644 --- a/src/rc/start-stop-daemon.c +++ b/src/rc/start-stop-daemon.c @@ -657,8 +657,15 @@ int main(int argc, char **argv)  			parse_schedule(applet, "0", sig);  		else  			parse_schedule(applet, NULL, sig); +		if (pidfile) { +			pid = get_pid(applet, pidfile); +			if (pid == -1) +				exit(EXIT_FAILURE); +		} else { +			pid = 0; +		}  		i = run_stop_schedule(applet, exec, (const char *const *)margv, -		    get_pid(applet, pidfile), uid, test, progress, false); +		    pid, uid, test, progress, false);  		if (i < 0)  			/* We failed to stop something */  | 
