[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: All thread blocked on (accept socket)
From: |
Neil Jerram |
Subject: |
Re: All thread blocked on (accept socket) |
Date: |
05 Mar 2002 21:00:54 +0000 |
User-agent: |
Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 |
>>>>> "Chris" == Christopher Cramer <address@hidden> writes:
Chris> On Mon, Mar 04, 2002 at 05:52:08PM -0600, Christopher Cramer wrote:
>> On Mon, Mar 04, 2002 at 01:26:21PM +0100, Lamy Jean-Baptiste wrote:
>> > But it looks like, when the first
>> > thread is waiting on a blocking "(accept socket)", all other threads
are
>> > blocked too and cannot treat their request...
>>
>> I think I'll go fix this... just need to add a call to
>> scm_internal_select() in scm_accept().
Chris> Fixed! Yay. I also added a comment about the fact that connect will
Chris> block, but I haven't fixed it yet.
[Moved to guile-devel]
Although your patch works for this case, I'm not sure it's the right
thing to change this in the C code.
Firstly, one could argue that, with the current CVS code, the choice
of behaviours is good: if you _want_ the accept to block all threads,
just call `accept'; if you don't, call `select' first.
Secondly, if we did make this change, we should logically make it in
lots of other places as well: connect, recv! etc.
So I think we at least need a bit of a discussion...
Neil
- Re: All thread blocked on (accept socket),
Neil Jerram <=