Hmm, I do not know much about pipes. Inspecting a running ECL, I see that it does not hang in ECL, but in the C library: in open()
Attaching to program: `/Users/jjgarcia/bin/ecl', process 49213.
Reading symbols for shared libraries ++.. done
0x00007fff86e3543e in open ()
(gdb) info threads
2 0x00007fff86e8c99e in __sigwait ()
* 1 "com.apple.main-thread" 0x00007fff86e3543e in open ()
#0 0x00007fff86e3543e in open ()
#1 0x00000001000f71d4 in ecl_open_stream (fn=0x10311bf30, smm=smm_output, if_exists=0x1002167c8, if_does_not_exist=0x100216e90, byte_size=0, flags=256, external_format=0x100216b80) at file.d:4804
Do you have any idea why this might happen? ECL is resolving the fifo name to a full path, btw. I do not know whether this might cause part of the problem.