From 33a5cc768c11f3fef902498bfee158cf1969da1d Mon Sep 17 00:00:00 2001 From: DaanDeMeyer Date: Thu, 3 Jul 2025 10:41:50 +0200 Subject: [PATCH] socket-activate: Always send NOTIFY=ready Even if we're not using --accept=, it's very useful to be able to synchronize on systemd-socket-activate having binded to its listen socket, so let's always send READY=1. This means the payload can't send READY=1 anymore but it's doubtful whether that's useful in this case in the first place. --- src/socket-activate/socket-activate.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/socket-activate/socket-activate.c b/src/socket-activate/socket-activate.c index d4b584e4d3..8e5dfb41d4 100644 --- a/src/socket-activate/socket-activate.c +++ b/src/socket-activate/socket-activate.c @@ -494,18 +494,15 @@ static int run(int argc, char **argv) { if (n == 0) return log_error_errno(SYNTHETIC_ERRNO(ENOENT), "No sockets to listen on specified or passed in."); - /* Notify the caller that all sockets are open now. We only do this in --accept mode however, - * since otherwise our process will be replaced and it's better to leave the readiness notify - * to the actual payload. */ - _unused_ _cleanup_(notify_on_cleanup) const char *notify = NULL; if (arg_accept) { r = install_chld_handler(); if (r < 0) return r; - - notify = notify_start(NOTIFY_READY_MESSAGE, NOTIFY_STOPPING_MESSAGE); } + /* Notify the caller that all sockets are open now. */ + _unused_ _cleanup_(notify_on_cleanup) const char *notify = notify_start(NOTIFY_READY_MESSAGE, NOTIFY_STOPPING_MESSAGE); + for (;;) { struct epoll_event event;