chiark / gitweb /
git: ignore libtool m4 files
[elogind.git] / src / logger.c
index 5c7e4ee42b9cd4554450a210ade8f5e55d8d584b..de4dfad38603c680f02f4d62ef14e94de49aec80 100644 (file)
@@ -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());