diff --git a/lib/spack/llnl/util/tty/log.py b/lib/spack/llnl/util/tty/log.py index f081893c85e..bc79b323351 100644 --- a/lib/spack/llnl/util/tty/log.py +++ b/lib/spack/llnl/util/tty/log.py @@ -533,13 +533,15 @@ def __enter__(self): # Sets a daemon that writes to file what it reads from a pipe try: # need to pass this b/c multiprocessing closes stdin in child. + input_multiprocess_fd = None try: - input_multiprocess_fd = MultiProcessFd( - os.dup(sys.stdin.fileno()) - ) + if sys.stdin.isatty(): + input_multiprocess_fd = MultiProcessFd( + os.dup(sys.stdin.fileno()) + ) except BaseException: # just don't forward input if this fails - input_multiprocess_fd = None + pass with replace_environment(self.env): self.process = multiprocessing.Process(