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

Reply via email to