apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cliff Woolley <cliffwool...@yahoo.com>
Subject Re: [PATCH] Buckets: add copy function, ap_bucket_split_any(), etc
Date Fri, 08 Dec 2000 18:46:37 GMT

--- Greg Stein <gstein@lyra.org> wrote:
> I've applied the patch because it is a good start.
> 
> However, ap_bucket_split_any() is not yet right. If a caller says "split at
> 10000", then it will probably fail because the read() won't read in that
> much. You need to read enough buckets, until you read the bucket that
> contains the split point. *then* do the split.

I completely agree.  It was done this way because it was all OtherBill and I could
get Ryan to agree to after a lengthy debate on new-httpd.

What *I* wanted to do was to make split a native function of sockets and pipes that
just happened to be a little overloaded.   (See my original posting and the ensuing
debate in the thread "Implementing split() on pipe buckets?", beginning 11/12.)

The short-short version is that I wanted to change pipe_read() to pipe_readn(), a
function that obeys the len parameter.  pipe_split() would pass in point as the
length to read, pipe_read() would pass in IOBUFSIZE.  It was fairly straightforward.
 Ryan disliked it because it cluttered the buckets code with "non-atomic"
operations.  Personally, I couldn't see why the read() function was allowed to be
non-atomic but the split() function was not.  But whatever.  I'll let you do the
arguing this time.  =-)

--Cliff

__________________________________________________
Do You Yahoo!?
Yahoo! Shopping - Thousands of Stores. Millions of Products.
http://shopping.yahoo.com/

Mime
View raw message