problem reading from process added by evhan on Sat Mar 17 18:31:40 2012

(use posix)

(define (pipe cmd str)
  (receive (in out pid) (process cmd)
    (display str out)
    (close-output-port out)
    (print (read-all in))
    (close-input-port in)))

(pipe "cat" "foo")

;; 4.7.0, 4.7.2
;; ------------
;; $ csi -s test.scm
;; foo
;;
;; 4.7.3, 4.7.4 & git
;; ------------------
;; $ csi -s test.scm
;; Error: (process) cannot read - Resource temporarily unavailable
;; 4
;; "/bin/bash"
;;
;;         Call history:
;;
;;         <syntax>          [pipe] (##core#lambda (in out pid) (display str out
) (close-output-port out) (print (read-all in)) (close-i......
;;         <syntax>          [pipe] (##core#begin (display str out) (close-outpu
t-port out) (print (read-all in)) (close-input-port in))
;;         <syntax>          [pipe] (display str out)
;;         <syntax>          [pipe] (close-output-port out)
;;         <syntax>          [pipe] (##core#begin (print (read-all in)) (close-i
nput-port in))
;;         <syntax>          [pipe] (print (read-all in))
;;         <syntax>          [pipe] (read-all in)
;;         <syntax>          [pipe] (close-input-port in)
;;         <syntax>          (pipe "cat" "foo")
;;         <eval>    (pipe "cat" "foo")
;;         <eval>    [pipe] (##sys#call-with-values (##core#lambda () (process c
md)) (##core#lambda (in out pid) (display str out...
;;         <eval>    [pipe] (process cmd)
;;         <eval>    [pipe] (display str out)
;;         <eval>    [pipe] (close-output-port out)
;;         <eval>    [pipe] (print (read-all in))
;;         <eval>    [pipe] (read-all in)  <--