Philip Martin <philip.mar...@wandisco.com> writes: > In several places in ra_serf I see the pattern: > > /* Skip on to the next iteration of this loop. */ > if (APR_STATUS_IS_EAGAIN(status)) > { > return svn_ra_serf__wrap_err(status, NULL); > } > continue; > > Is that test correct? It causes EAGAIN to be returned and any other > error to continue the loop which seems to contradict the comment. I > suppose EAGAIN could be handled at some higher level but simply > continuing on all other errors looks wrong.
If I reverse the EAGAIN test then the regression tests hang so it appears that returning EAGAIN and simply continuing for all other errors does work. I see serf itself has some EAGAIN code so perhaps that is where it gets handled. It's not clear to me how non-EAGAIN errors are handled as they appear to simply get discarded. -- Certified & Supported Apache Subversion Downloads: http://www.wandisco.com/subversion/download