From: Yu Watanabe Date: Wed, 9 Apr 2025 13:10:42 +0000 (+0900) Subject: core/socket: do not enter failed state when we cannot start service due to conflictin... X-Git-Tag: v258-rc1~750^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b50f6dbe574b0421db7dbf200ad951186382277d;p=thirdparty%2Fsystemd.git core/socket: do not enter failed state when we cannot start service due to conflicting transaction being queued Otherwise, e.g. on soft-reboot, socket unit may enter the failed state and the socket buffer will be cleared. --- diff --git a/src/core/socket.c b/src/core/socket.c index 861aaba3d44..7bff0a2d03a 100644 --- a/src/core/socket.c +++ b/src/core/socket.c @@ -2356,6 +2356,8 @@ static void socket_enter_running(Socket *s, int cfd_in) { } r = manager_add_job(UNIT(s)->manager, JOB_START, UNIT_DEREF(s->service), JOB_REPLACE, &error, /* ret = */ NULL); + if (r == -EDEADLK) + return (void) log_unit_debug_errno(UNIT(s), r, "Failed to queue service startup job, ignoring: %s", bus_error_message(&error, r)); if (r < 0) goto queue_error; }