diff options
author | Eric Andersen <andersen@codepoet.org> | 2001-03-29 21:58:33 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2001-03-29 21:58:33 +0000 |
commit | e5c24dfd010732ab6b80a96ad2a5414499c496c0 (patch) | |
tree | e33107a413c5c41e6a7b160ddb310fe43f5ad01d /sysklogd/syslogd.c | |
parent | 3a6da8c183142a2681a2382b63e970f457cf807b (diff) | |
download | busybox-w32-e5c24dfd010732ab6b80a96ad2a5414499c496c0.tar.gz busybox-w32-e5c24dfd010732ab6b80a96ad2a5414499c496c0.tar.bz2 busybox-w32-e5c24dfd010732ab6b80a96ad2a5414499c496c0.zip |
Use daemon() to spawn syslogd and klogd daemons.
-Erik
Diffstat (limited to 'sysklogd/syslogd.c')
-rw-r--r-- | sysklogd/syslogd.c | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/sysklogd/syslogd.c b/sysklogd/syslogd.c index cc42c2942..e83ce48ae 100644 --- a/sysklogd/syslogd.c +++ b/sysklogd/syslogd.c | |||
@@ -562,18 +562,9 @@ static void doSyslogd (void) | |||
562 | } /* for main loop */ | 562 | } /* for main loop */ |
563 | } | 563 | } |
564 | 564 | ||
565 | static void daemon_init (char **argv, char *dz, void fn (void)) | ||
566 | { | ||
567 | setsid(); | ||
568 | chdir ("/"); | ||
569 | strncpy(argv[0], dz, strlen(argv[0])); | ||
570 | fn(); | ||
571 | exit(0); | ||
572 | } | ||
573 | |||
574 | extern int syslogd_main(int argc, char **argv) | 565 | extern int syslogd_main(int argc, char **argv) |
575 | { | 566 | { |
576 | int opt, pid; | 567 | int opt; |
577 | int doFork = TRUE; | 568 | int doFork = TRUE; |
578 | 569 | ||
579 | char *p; | 570 | char *p; |
@@ -635,15 +626,10 @@ extern int syslogd_main(int argc, char **argv) | |||
635 | #endif | 626 | #endif |
636 | 627 | ||
637 | if (doFork == TRUE) { | 628 | if (doFork == TRUE) { |
638 | pid = fork(); | 629 | if (daemon(0, 1) < 0) |
639 | if (pid < 0) | 630 | perror_msg_and_die("daemon"); |
640 | exit(pid); | ||
641 | else if (pid == 0) { | ||
642 | daemon_init (argv, "syslogd", doSyslogd); | ||
643 | } | ||
644 | } else { | ||
645 | doSyslogd(); | ||
646 | } | 631 | } |
632 | doSyslogd(); | ||
647 | 633 | ||
648 | return EXIT_SUCCESS; | 634 | return EXIT_SUCCESS; |
649 | } | 635 | } |