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.
This commit is contained in:
DaanDeMeyer
2025-07-03 10:41:50 +02:00
committed by Daan De Meyer
parent 6a9cb1936f
commit 33a5cc768c

View File

@@ -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;