~ruther/guix-local

b9c7ed71b1c4110c3c8580f1bb8050c31324fa6a — Ludovic Courtès 10 years ago 3177149
services: dmd: Spawn a REPL upon failure to load a service definition.

Fixes <http://bugs.gnu.org/19779>.
Reported by Mark H Weaver <mhw@netris.org>.

* gnu/services/dmd.scm (dmd-configuration-file)[config]: Wrap
'primitive-load' calls in 'call-with-error-handling'.
1 files changed, 7 insertions(+), 1 deletions(-)

M gnu/services/dmd.scm
M gnu/services/dmd.scm => gnu/services/dmd.scm +7 -1
@@ 223,7 223,13 @@ stored."
            (set! %load-compiled-path
              (cons #$compiled %load-compiled-path)))

          (apply register-services (map primitive-load '#$files))
          (use-modules (system repl error-handling))

          ;; Arrange to spawn a REPL if loading one of FILES fails.  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")