aboutsummaryrefslogtreecommitdiff
path: root/src/rc/start-stop-daemon.c
diff options
context:
space:
mode:
authorWilliam Hubbs <w.d.hubbs@gmail.com>2017-08-23 14:16:49 -0500
committerWilliam Hubbs <w.d.hubbs@gmail.com>2017-08-23 14:36:50 -0500
commitcfbe9c2ede24dac530ef58e5c35bd57f22a788a3 (patch)
tree6b98d014c8e40c7b6eaa2f5d30150ed90e1ebd88 /src/rc/start-stop-daemon.c
parentdf28002b728b033c00c2da64dedf2bcd4ab5e11b (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.c31
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"