--- Greg Stein <[EMAIL PROTECTED]> 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/

Reply via email to