don't unconditionally restore signals in ensure-batch-mode!
authorAndy Wingo <wingo@pobox.com>
Sat, 19 Jun 2010 13:20:02 +0000 (15:20 +0200)
committerAndy Wingo <wingo@pobox.com>
Sat, 19 Jun 2010 13:20:02 +0000 (15:20 +0200)
* module/ice-9/boot-9.scm (ensure-batch-mode!): Remove comment about
  restoring signals, and that behavior, as it was making popen.test
  hang. I should investigate further, but instead I'm just going to hope
  that this fixes it.

module/ice-9/boot-9.scm

index 3928d1e..89abc36 100644 (file)
@@ -2677,15 +2677,13 @@ module '(ice-9 q) '(make-q q-length))}."
 ;; `batch-mode?' returns #f during their extent.
 ;;
 ;; Programs can re-enter batch mode, for example after a fork, by calling
-;; `ensure-batch-mode!'. This will also restore signal handlers. It's not a
-;; great interface, though; it would be better to abort to the outermost prompt,
-;; and call a thunk there.
+;; `ensure-batch-mode!'. It's not a great interface, though; it would be better
+;; to abort to the outermost prompt, and call a thunk there.
 (define *repl-level* (make-fluid))
 (define (batch-mode?)
   (negative? (or (fluid-ref *repl-level*) -1)))
 (define (ensure-batch-mode!)
-  (fluid-set! *repl-level* #f)
-  (restore-signals))
+  (fluid-set! *repl-level* #f))
 
 (define (quit . args)
   (apply throw 'quit args))