Added poweroff (and adjusted init to use it). Inlined function
calls to code only called once in tee. Made BB_KLOGD and option. -Erik
This commit is contained in:
27
syslogd.c
27
syslogd.c
@ -62,6 +62,9 @@ static const char syslogd_usage[] =
|
||||
"Options:\n"
|
||||
"\t-m\tChange the mark timestamp interval. default=20min. 0=off\n"
|
||||
"\t-n\tDo not fork into the background (for when run by init)\n"
|
||||
#ifdef BB_KLOGD
|
||||
"\t-K\tDo not start up the klogd process (by default syslogd spawns klogd).\n"
|
||||
#endif
|
||||
"\t-O\tSpecify an alternate log file. default=/var/log/messages\n";
|
||||
|
||||
|
||||
@ -251,6 +254,8 @@ static void doSyslogd(void)
|
||||
close(fd);
|
||||
}
|
||||
|
||||
#ifdef BB_KLOGD
|
||||
|
||||
static void klogd_signal(int sig)
|
||||
{
|
||||
ksyslog(7, NULL, 0);
|
||||
@ -259,7 +264,6 @@ static void klogd_signal(int sig)
|
||||
exit( TRUE);
|
||||
}
|
||||
|
||||
|
||||
static void doKlogd(void)
|
||||
{
|
||||
int priority=LOG_INFO;
|
||||
@ -325,11 +329,15 @@ static void doKlogd(void)
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
extern int syslogd_main(int argc, char **argv)
|
||||
{
|
||||
int pid, klogd_pid;
|
||||
int doFork = TRUE;
|
||||
#ifdef BB_KLOGD
|
||||
int startKlogd = TRUE;
|
||||
#endif
|
||||
char *p;
|
||||
char **argv1=argv;
|
||||
|
||||
@ -345,6 +353,11 @@ extern int syslogd_main(int argc, char **argv)
|
||||
case 'n':
|
||||
doFork = FALSE;
|
||||
break;
|
||||
#ifdef BB_KLOGD
|
||||
case 'K':
|
||||
startKlogd = FALSE;
|
||||
break;
|
||||
#endif
|
||||
case 'O':
|
||||
if (--argc == 0) {
|
||||
usage(syslogd_usage);
|
||||
@ -375,12 +388,16 @@ extern int syslogd_main(int argc, char **argv)
|
||||
doSyslogd();
|
||||
}
|
||||
|
||||
#ifdef BB_KLOGD
|
||||
/* Start up the klogd process */
|
||||
klogd_pid = fork();
|
||||
if (klogd_pid == 0 ) {
|
||||
strncpy(argv[0], "klogd", strlen(argv[0]));
|
||||
doKlogd();
|
||||
if (startKlogd == TRUE) {
|
||||
klogd_pid = fork();
|
||||
if (klogd_pid == 0 ) {
|
||||
strncpy(argv[0], "klogd", strlen(argv[0]));
|
||||
doKlogd();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
exit( TRUE);
|
||||
}
|
||||
|
Reference in New Issue
Block a user