summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/services/base.scm7
1 files changed, 6 insertions, 1 deletions
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index c40bc1a4c2..3b85363fe2 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -578,7 +578,12 @@ extra rules from the packages listed in @var{rules}."
                              (system* (string-append #$udev "/bin/udevadm")
                                       "settle")
                              pid)))))
-             (stop #~(make-kill-destructor))))))
+             (stop #~(make-kill-destructor))
+
+             ;; When halting the system, 'udev' is actually killed by
+             ;; 'user-processes', i.e., before its own 'stop' method was
+             ;; called.  Thus, make sure it is not respawned.
+             (respawn? #f)))))
 
 (define (device-mapping-service target command)
   "Return a service that maps device @var{target}, a string such as