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