From 6ea6e1476ff4a18d4b4b864c3065d18ed99c69af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 18 Dec 2018 14:51:56 +0100 Subject: file-systems: Spawn a REPL only when interaction is possible. Fixes . Reported by Jan Nieuwenhuizen . * gnu/build/file-systems.scm (check-file-system): Call 'start-repl' only if current-input-port passes 'isatty?'. * gnu/services/shepherd.scm (shepherd-configuration-file): After 'for-each' expression, call 'redirect-port'. * gnu/tests/base.scm (run-basic-test)["stdin is /dev/null"]: New test. --- gnu/build/file-systems.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'gnu/build/file-systems.scm') diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm index 3f97afeedd..efd744acc1 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm @@ -535,10 +535,13 @@ were found." (sleep 3) (reboot)) ('fatal-error - (format (current-error-port) - "File system check on ~a failed; spawning Bourne-like REPL~%" + (format (current-error-port) "File system check on ~a failed~%" device) - (start-repl %bournish-language))) + + ;; Spawn a REPL only if someone would be able to interact with it. + (when (isatty? (current-input-port)) + (format (current-error-port) "Spawning Bourne-like REPL.~%") + (start-repl %bournish-language)))) (format (current-error-port) "No file system check procedure for ~a; skipping~%" device))) -- cgit v1.2.3