On Wed, 4 Jul 2001, Bill Stoddard wrote:

> Yea, I saw your comments.  I'll modify the patch to check for
> APR_SUCCESS with no bytes read and on a nonblocking call, interpret
> that as APR_EAGAIN.

Hmmm, no, you shouldn't need to do that.  If APR_SUCCESS is returned from
apr_bucket_read(), regardless of whether any bytes were read or not or
whether it was a nonblocking read or not, that means that the bucket is
empty and that you should move on to the next bucket.  Only APR_EAGAIN on
nonblocking reads means you need to retry.

What I was saying is that right now, the pipe/socket buckets in
nonblocking mode will return APR_EOF if they received APR_EOF from APR and
zero bytes were read.  That's wrong.  They should just tell the caller of
apr_bucket_read() "okay, that's it... move on.  APR_SUCCESS."  You
shouldn't need to change your patch at all.

--Cliff

--------------------------------------------------------------
   Cliff Woolley
   [EMAIL PROTECTED]
   Charlottesville, VA


Reply via email to