X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flogger.c;h=d4d964d1bbfd440c268d57b4578a0920071e2e0a;hp=de4dfad38603c680f02f4d62ef14e94de49aec80;hb=54165a39391980defef3bf3356041aac960f64af;hpb=0213c3f8102bdc934c629d11a44ca0b408762287 diff --git a/src/logger.c b/src/logger.c index de4dfad38..d4d964d1b 100644 --- a/src/logger.c +++ b/src/logger.c @@ -143,7 +143,7 @@ static int stream_log(Stream *s, char *p, usec_t ts) { return -EINVAL; } - snprintf(header_pid, sizeof(header_pid), "[%llu]: ", (unsigned long long) s->pid); + snprintf(header_pid, sizeof(header_pid), "[%lu]: ", (unsigned long) s->pid); char_array_0(header_pid); zero(iovec); @@ -473,7 +473,7 @@ static int server_init(Server *s, unsigned n_sockets) { /* /dev/kmsg logging is strictly optional */ if ((s->kmsg_fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC)) < 0) - log_debug("Failed to open /dev/kmsg for logging, disabling kernel log buffer support: %s", strerror(errno)); + log_warning("Failed to open /dev/kmsg for logging, disabling kernel log buffer support: %s", strerror(errno)); return 0; @@ -535,10 +535,20 @@ int main(int argc, char *argv[]) { Server server; int r = 3, n; + if (getppid() != 1) { + log_error("This program should be invoked by init only."); + return 1; + } + + if (argc > 1) { + log_error("This program does not take arguments."); + return 1; + } + log_set_target(LOG_TARGET_SYSLOG_OR_KMSG); log_parse_environment(); - log_info("systemd-logger running as pid %llu", (unsigned long long) getpid()); + log_info("systemd-logger running as pid %lu", (unsigned long) getpid()); if ((n = sd_listen_fds(true)) < 0) { log_error("Failed to read listening file descriptors from environment: %s", strerror(-r)); @@ -586,7 +596,7 @@ fail: server_done(&server); - log_info("systemd-logger stopped as pid %llu", (unsigned long long) getpid()); + log_info("systemd-logger stopped as pid %lu", (unsigned long) getpid()); return r; }