Dear Miguel:
Indeed, data is not made available to the pipe; though it should be there, 
because od prints lines as soon as they're available. I tried "readall", 
but it also blocks. I should have added that I tested this with the latest, 
0.4 release from github.

I also tried just reading one character, with "read(so,UInt8)", and this 
also blocks.

I notice that you are the author of the gnuplot package "Gaston"; so you 
are certainly familiar with the issue. Looking at Gaston's code, I see that 
you directly called :popen from the C library. Is there a reason not to use 
the higher-level interface of Julia?

I got more crashes by feeding large amounts of data to a pipe:

julia> (so,si,pr) = readandwrite(`od`);

julia> write(si,repeat("test\n",100000));
^CERROR: InterruptException:Assertion failed: (req->handle == stream), 
function uv__write, file src/unix/stream.c, line 741.

signal (6): Abort trap: 6
__pthread_kill at /usr/lib/system/libsystem_kernel.dylib (unknown line)
Abort trap: 6
bash$

Thanks in advance! Laurent

Reply via email to