Peter Bex committed b29f484

Ensure port is closed before returning from run/sexp*; this would hopefull ensure processes don't hang when they keep writing while the pipe buffer is full. Instead, it would kill the process with sigpipe

Comments (0)

Files changed (1)

 (define (run/strings* thunk)
   (read-lines (run/port* thunk)))
 (define (run/sexp* thunk)
-  (read (run/port* thunk)))
+  (let* ((p (run/port* thunk))
+         (res (read p)))
+    (close-input-port p)
+    res))
 (define (run/sexps* thunk)
   (read-file (run/port* thunk)))