--- 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/