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