2010/7/14 Moritz Heidkamp <mor...@twoticketsplease.de>:
> [...]
> | Blocking reads and writes to or from the ports returned by process
> | only block the current thread, not other threads executing
> | concurrently.
>
> And it works as advertised. However, if I close both the input and the
> output ports of the process, all other threads seem to be blocked. If I
> close none of them or only one of them, it works.
> [...]

Hello Moritz,

this is expected behaviour: As soon as you close both ports connecting
your own process to the external one, CHICKEN implicitly waits for the
external process to terminate. Waiting for termination of a child
process suspends the whole operating system thread and hence all
CHICKEN threads.

The workings of ports connected to external processes should probably
be documented more thoroughly, though.

Ciao,
Thomas


-- 
When C++ is your hammer, every problem looks like your thumb.

_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to