]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core/socket: do not enter failed state when we cannot start service due to conflictin...
authorYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 9 Apr 2025 13:10:42 +0000 (22:10 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 23 Apr 2025 01:48:51 +0000 (10:48 +0900)
Otherwise, e.g. on soft-reboot, socket unit may enter the failed state
and the socket buffer will be cleared.

src/core/socket.c

index 861aaba3d44c38192c76a374c3eb0512a0cfd402..7bff0a2d03a38c6d645a9c768e64394aacb9f474 100644 (file)
@@ -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;
                 }