diff options
Diffstat (limited to 'debianutils')
| -rw-r--r-- | debianutils/start_stop_daemon.c | 31 |
1 files changed, 11 insertions, 20 deletions
diff --git a/debianutils/start_stop_daemon.c b/debianutils/start_stop_daemon.c index 733fb4112..6f8fb2dc8 100644 --- a/debianutils/start_stop_daemon.c +++ b/debianutils/start_stop_daemon.c | |||
| @@ -3,31 +3,22 @@ | |||
| 3 | * Mini start-stop-daemon implementation(s) for busybox | 3 | * Mini start-stop-daemon implementation(s) for busybox |
| 4 | * | 4 | * |
| 5 | * Written by Marek Michalkiewicz <marekm@i17linuxb.ists.pwr.wroc.pl>, | 5 | * Written by Marek Michalkiewicz <marekm@i17linuxb.ists.pwr.wroc.pl>, |
| 6 | * public domain. | ||
| 7 | * Adapted for busybox David Kimdon <dwhedon@gordian.com> | 6 | * Adapted for busybox David Kimdon <dwhedon@gordian.com> |
| 7 | * | ||
| 8 | * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. | ||
| 8 | */ | 9 | */ |
| 9 | 10 | ||
| 10 | #include "busybox.h" | 11 | #include "busybox.h" |
| 11 | #include <stdio.h> | 12 | #include <getopt.h> |
| 12 | #include <stdlib.h> | ||
| 13 | #include <string.h> | ||
| 14 | #include <stdarg.h> | ||
| 15 | #include <signal.h> | ||
| 16 | #include <errno.h> | ||
| 17 | #include <sys/stat.h> | ||
| 18 | #include <dirent.h> | ||
| 19 | #include <unistd.h> | ||
| 20 | #include <getopt.h> /* struct option */ | ||
| 21 | #include "pwd_.h" | ||
| 22 | 13 | ||
| 23 | static int signal_nr = 15; | 14 | static int signal_nr = 15; |
| 24 | static int user_id = -1; | 15 | static int user_id = -1; |
| 25 | static int quiet; | 16 | static int quiet; |
| 26 | static char *userspec = NULL; | 17 | static char *userspec; |
| 27 | static char *chuid = NULL; | 18 | static char *chuid; |
| 28 | static char *cmdname = NULL; | 19 | static char *cmdname; |
| 29 | static char *execname = NULL; | 20 | static char *execname; |
| 30 | static char *pidfile = NULL; | 21 | static char *pidfile; |
| 31 | 22 | ||
| 32 | struct pid_list { | 23 | struct pid_list { |
| 33 | struct pid_list *next; | 24 | struct pid_list *next; |
| @@ -136,7 +127,7 @@ static void do_procinit(void) | |||
| 136 | return; | 127 | return; |
| 137 | } | 128 | } |
| 138 | 129 | ||
| 139 | procdir = bb_xopendir("/proc"); | 130 | procdir = xopendir("/proc"); |
| 140 | 131 | ||
| 141 | foundany = 0; | 132 | foundany = 0; |
| 142 | while ((entry = readdir(procdir)) != NULL) { | 133 | while ((entry = readdir(procdir)) != NULL) { |
| @@ -292,12 +283,12 @@ int start_stop_daemon_main(int argc, char **argv) | |||
| 292 | } | 283 | } |
| 293 | *--argv = startas; | 284 | *--argv = startas; |
| 294 | if (opt & SSD_OPT_BACKGROUND) { | 285 | if (opt & SSD_OPT_BACKGROUND) { |
| 295 | bb_xdaemon(0, 0); | 286 | xdaemon(0, 0); |
| 296 | setsid(); | 287 | setsid(); |
| 297 | } | 288 | } |
| 298 | if (opt & SSD_OPT_MAKEPID) { | 289 | if (opt & SSD_OPT_MAKEPID) { |
| 299 | /* user wants _us_ to make the pidfile */ | 290 | /* user wants _us_ to make the pidfile */ |
| 300 | FILE *pidf = bb_xfopen(pidfile, "w"); | 291 | FILE *pidf = xfopen(pidfile, "w"); |
| 301 | 292 | ||
| 302 | pid_t pidt = getpid(); | 293 | pid_t pidt = getpid(); |
| 303 | fprintf(pidf, "%d\n", pidt); | 294 | fprintf(pidf, "%d\n", pidt); |
