X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogger.c;h=66f6f8c2e5b3f71da5be1328abd91775d2ce841b;hb=bb00e604097fba830af1dc078d78aff278dfcd37;hp=48eee6cd12958bcc5617b2cf69abc0480a7fe6ea;hpb=8c47c7325fa1ab72febf807f8831ff24c75fbf45;p=elogind.git diff --git a/src/logger.c b/src/logger.c index 48eee6cd1..66f6f8c2e 100644 --- a/src/logger.c +++ b/src/logger.c @@ -36,6 +36,7 @@ #include "log.h" #include "list.h" #include "sd-daemon.h" +#include "tcpwrap.h" #define STREAM_BUFFER 2048 #define STREAMS_MAX 256 @@ -142,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); @@ -340,6 +341,11 @@ static int stream_new(Server *s, int server_fd) { return 0; } + if (!socket_tcpwrap(fd, "systemd-logger")) { + close_nointr_nofail(fd); + return 0; + } + if (!(stream = new0(Stream, 1))) { close_nointr_nofail(fd); return -ENOMEM; @@ -532,7 +538,7 @@ int main(int argc, char *argv[]) { 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)); @@ -580,7 +586,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; }