diff options
author | William Hubbs <w.d.hubbs@gmail.com> | 2017-08-23 14:16:49 -0500 |
---|---|---|
committer | William Hubbs <w.d.hubbs@gmail.com> | 2017-08-23 14:36:50 -0500 |
commit | cfbe9c2ede24dac530ef58e5c35bd57f22a788a3 (patch) | |
tree | 6b98d014c8e40c7b6eaa2f5d30150ed90e1ebd88 /src/rc/start-stop-daemon.c | |
parent | df28002b728b033c00c2da64dedf2bcd4ab5e11b (diff) |
move get_pid function to a shared file
Diffstat (limited to 'src/rc/start-stop-daemon.c')
-rw-r--r-- | src/rc/start-stop-daemon.c | 31 |
1 files changed, 3 insertions, 28 deletions
diff --git a/src/rc/start-stop-daemon.c b/src/rc/start-stop-daemon.c index c88bc962..451d4a5c 100644 --- a/src/rc/start-stop-daemon.c +++ b/src/rc/start-stop-daemon.c @@ -368,31 +368,6 @@ parse_schedule(const char *string, int timeout) return; } -static pid_t -get_pid(const char *pidfile) -{ - FILE *fp; - pid_t pid; - - if (! pidfile) - return -1; - - if ((fp = fopen(pidfile, "r")) == NULL) { - ewarnv("%s: fopen `%s': %s", applet, pidfile, strerror(errno)); - return -1; - } - - if (fscanf(fp, "%d", &pid) != 1) { - ewarnv("%s: no pid found in `%s'", applet, pidfile); - fclose(fp); - return -1; - } - - fclose(fp); - - return pid; -} - /* return number of processed killed, -1 on error */ static int do_stop(const char *exec, const char *const *argv, @@ -472,7 +447,7 @@ run_stop_schedule(const char *exec, const char *const *argv, } if (pidfile) { - pid = get_pid(pidfile); + pid = get_pid(applet, pidfile); if (pid == -1) return 0; } @@ -1090,7 +1065,7 @@ int main(int argc, char **argv) } if (pidfile) - pid = get_pid(pidfile); + pid = get_pid(applet, pidfile); else pid = 0; @@ -1365,7 +1340,7 @@ int main(int argc, char **argv) alive = true; } else { if (pidfile) { - pid = get_pid(pidfile); + pid = get_pid(applet, pidfile); if (pid == -1) { eerrorx("%s: did not " "create a valid" |