Rob Browning <[email protected]> writes:
> I haven't tried to track it down yet, but if the only underlying way to
> get a fixed block of data out of an OPEN_BOTH port is read-char, then
> that might explain much of the difference.
And this, in popen.scm was why I started wondering about that:
(call-with-values (lambda ()
(apply open-process mode command args))
(lambda (read-port write-port pid)
(let ((port (or (and read-port write-port
(make-rw-port read-port write-port))
read-port
write-port
(%make-void-port mode)))
(pipe-info (make-pipe-info pid)))
I *think* OPEN_BOTH triggers make-rw-port here, which creates a
soft-port.
I'd guess that what I might really want instead is for it to be able to
create a native, bidirectional binary-port (using the two pipes
internally).
Thanks
--
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4