Richard,

 sure. That needs to be fixed. Matt has checked in a better solution
than the loop code. Actually, with Matts changes, all EAGAIN problems
should be fixed.

 Q: do you see this behaviour with the current CVS code? That has the
fix since March 18th. If yes, Matt needs to know.

Cheers
Martin

--- [EMAIL PROTECTED] wrote:

> Matt/Martin and all.
> 
> I am finding that I am still getting occassional truncated XML from
> gmond, even
> after the EAGAIN patches to gmond.c. Interestingly, when the data was
> truncated, it ended with a </HOST> tag. i.e. a host boundary.
> 
> Looking at the code, I see this:
> <snip>
>   /* Walk the host hash */
>   for(hi = apr_hash_first(client_context, hosts);
>       hi;
>       hi = apr_hash_next(hi))
>     {
>       apr_hash_this(hi, NULL, NULL, &val);
>       status = print_host_start(client, (Ganglia_host *)val);
>       if(status != APR_SUCCESS)
>         {
>           goto close_accept_socket;
>         }
> </snip>
> 
> Ahh. This is another place that we need the EAGAIN retry loop.
> In fact to be safe, the print_xml_header code should also be
> protected.
> 
> Do you guys agree with the analysis?
> 
> My gmonds run on windows - for some reason windows/cygwin often gives
> me the EGAIN returns while the Linux daemons never seem to.
> 
> regards,
> Richard
> 


------------------------------------------------------
Martin Knoblauch
email: k n o b i AT knobisoft DOT de
www:   http://www.knobisoft.de

Reply via email to