]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core/service: fix missing error handling for refresh-extensions control process
authorMike Yuan <me@yhndnzj.com>
Sun, 19 Oct 2025 23:42:57 +0000 (01:42 +0200)
committerMike Yuan <me@yhndnzj.com>
Tue, 4 Nov 2025 11:17:33 +0000 (12:17 +0100)
src/core/service.c

index bc519514a12ed5750ae78eab622196aed54f8b69..8b2158c6775d7e3ee653f3b74bba059413f5c74f 100644 (file)
@@ -4353,8 +4353,11 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) {
                                 break;
 
                         case SERVICE_REFRESH_EXTENSIONS:
-                                /* Remounting extensions asynchronously done, proceed to signal */
-                                service_enter_reload_signal_exec(s);
+                                if (f == SERVICE_SUCCESS)
+                                        /* Remounting extensions asynchronously done, proceed to signal */
+                                        service_enter_reload_signal_exec(s);
+                                else
+                                        service_reload_finish(s, f);
                                 break;
 
                         case SERVICE_MOUNTING: