]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
New: send_systemd_ready(), first suggested copy.
authorJana Babovakova <babovakova.jana@gmail.com>
Thu, 3 Apr 2025 12:23:43 +0000 (14:23 +0200)
committerJana Babovakova <babovakova.jana@gmail.com>
Thu, 3 Apr 2025 12:23:43 +0000 (14:23 +0200)
To be corrected to work as expected and compile.

sysdep/unix/main.c

index 85acc21864b0a26fd5d8d4d3f475f0629e253d0b..211c6e1277dfde56793e27b29b52567436faa1a5 100644 (file)
@@ -1001,6 +1001,20 @@ parse_args(int argc, char **argv)
    }
 }
 
+static void
+send_systemd_ready()
+{
+  const char *addrstr = getenv("NOTIFY_SOCKET");
+  if (addrstr) {
+      int fd = socket(AF_UNIX, SOCK_DGRAM, 0);
+      struct sockaddr_un addr = { .sun_family = AF_UNIX };
+      strncpy(addr.sun_path, sizeof(addr.sun_path), addrstr);
+      connect(fd, (struct sockaddr*) &addr);
+      write(fd, "READY=1");
+      close(fd);
+  }
+}
+
 /*
  *     Hic Est main()
  */
@@ -1069,6 +1083,8 @@ main(int argc, char **argv)
       dup2(0, 2);
     }
 
+  send_systemd_ready();
+
   main_thread_init();
 
   write_pid_file();