[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] Subprocess blocking all threads under certain circu
From: |
Thomas Chust |
Subject: |
Re: [Chicken-users] Subprocess blocking all threads under certain circumstances |
Date: |
Wed, 14 Jul 2010 14:22:02 +0200 |
2010/7/14 Moritz Heidkamp <address@hidden>:
> [...]
> | 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.