[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
04/04: service: shepherd: All of the config file is in 'call-with-error-
From: |
Ludovic Courtès |
Subject: |
04/04: service: shepherd: All of the config file is in 'call-with-error-handling'. |
Date: |
Fri, 05 Feb 2016 13:02:28 +0000 |
civodul pushed a commit to branch master
in repository guix.
commit 234ea8a71c70747d883c0634dcd56e243845d832
Author: Ludovic Courtès <address@hidden>
Date: Fri Feb 5 13:23:09 2016 +0100
service: shepherd: All of the config file is in 'call-with-error-handling'.
* gnu/services/shepherd.scm (shepherd-configuration-file)[config]: Wrap
all the body in 'call-with-error-handling'.
---
gnu/services/shepherd.scm | 43 ++++++++++++++++++++++---------------------
1 files changed, 22 insertions(+), 21 deletions(-)
diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm
index 207501c..5d829e4 100644
--- a/gnu/services/shepherd.scm
+++ b/gnu/services/shepherd.scm
@@ -237,29 +237,30 @@ stored."
(use-modules (srfi srfi-34)
(system repl error-handling))
- ;; Arrange to spawn a REPL if loading one of FILES fails. This is
- ;; better than a kernel panic.
+ ;; Arrange to spawn a REPL if something goes wrong. This is better
+ ;; than a kernel panic.
(call-with-error-handling
(lambda ()
- (apply register-services (map primitive-load '#$files))))
-
- ;; guix-daemon 0.6 aborts if 'PATH' is undefined, so work around it.
- (setenv "PATH" "/run/current-system/profile/bin")
-
- (format #t "starting services...~%")
- (for-each (lambda (service)
- ;; In the Shepherd 0.3 the 'start' method can raise
- ;; '&action-runtime-error' if it fails, so protect
- ;; against it. (XXX: 'action-runtime-error?' is not
- ;; exported is 0.3, hence 'service-error?'.)
- (guard (c ((service-error? c)
- (format (current-error-port)
- "failed to start service '~a'~%"
- service)))
- (start service)))
- '#$(append-map shepherd-service-provision
- (filter shepherd-service-auto-start?
- services)))))
+ (apply register-services (map primitive-load '#$files))
+
+ ;; guix-daemon 0.6 aborts if 'PATH' is undefined, so work around
+ ;; it.
+ (setenv "PATH" "/run/current-system/profile/bin")
+
+ (format #t "starting services...~%")
+ (for-each (lambda (service)
+ ;; In the Shepherd 0.3 the 'start' method can raise
+ ;; '&action-runtime-error' if it fails, so protect
+ ;; against it. (XXX: 'action-runtime-error?' is not
+ ;; exported is 0.3, hence 'service-error?'.)
+ (guard (c ((service-error? c)
+ (format (current-error-port)
+ "failed to start service '~a'~%"
+ service)))
+ (start service)))
+ '#$(append-map shepherd-service-provision
+ (filter shepherd-service-auto-start?
+ services)))))))
(gexp->file "shepherd.conf" config)))