X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flogger.c;h=de4dfad38603c680f02f4d62ef14e94de49aec80;hp=5c7e4ee42b9cd4554450a210ade8f5e55d8d584b;hb=55293c152a0c8a8720461a26e2d6e24b5612d1f0;hpb=871d7de47c13ee6cd78b8eefdf9128be3c740ac0 diff --git a/src/logger.c b/src/logger.c index 5c7e4ee42..de4dfad38 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 @@ -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; @@ -547,6 +553,10 @@ int main(int argc, char *argv[]) { if (server_init(&server, (unsigned) n) < 0) return 3; + sd_notify(false, + "READY=1\n" + "STATUS=Processing requests..."); + for (;;) { struct epoll_event event; int k; @@ -571,6 +581,9 @@ int main(int argc, char *argv[]) { r = 0; fail: + sd_notify(false, + "STATUS=Shutting down..."); + server_done(&server); log_info("systemd-logger stopped as pid %llu", (unsigned long long) getpid());