Re: hang in gconfd




Has anyone looked in the connection management code of ACE TAO to see how
they handle
this type of situation?   I recall seeing some discussion about this about
6 months
ago in the ACE TAO netnews.

-Dave

> Hi Owen,
>
> On 11 Dec 2001, Owen Taylor wrote:
>> 100% CPU still hangs with linc as of this morning -- to quote
>> linc-connection.c:linc_connection_writev():
>
>       Ok - so there are two problems; firstly the bug in the application
>that is not responding - which is it ? we have to block somewhere or we
>will consume 100% memory writing to a non-responsive process.
>
>        Secondly - we should make it more efficient to block here; I
>assume handing G_IO_OUT constantly and in a more intelligent fashion in
>linc_connection_connected, combined with a linc_main_iteration (TRUE) will
>have this effect.
>
>> So, as long as it can't write (EAGAIN) it runs one iteration of
>> linc_main_iteration(), not and tries again. Eating up a great deal of
>> my CPU unless something changes cnx->status. But I don't see any
>> particular reason the state would change when trying to write to an
>> unresponsive client.
>
>        Sure - and it remains to be seen what is best to be done here -
>I'm looking forward to Havoc's patch to bump the buffer size beyond that
>of the socket - and then perhaps we can add some API to allow detection
>and slaughter of such bad clients.
>
>        How does that sound ?
>
>                Michael.
>
>--
> mmeeks@gnu.org  <><, Pseudo Engineer, itinerant idiot




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]