On Wed, 19 May 2004, Cliff Woolley wrote: > can't just ignore APR_ENOTIMPL for bucket types, because pipe and socket > buckets never had setaside implemented on them. I thought I remembered > that that was because Greg and Ryan and I had some huge debate about it > and it was decided for some reason that setting aside a pipe or socket > didn't make sense. But now I can't find where we talked about that in the > archives.
BTW - I remembered the reason why it was decided that it didn't make sense to implement setaside for pipe/socket buckets. It's because for all other bucket types, setaside takes one bucket in and produces one bucket out, whereas for pipes and sockets it would take one bucket in and either produce one bucket if the lifetime request was already satisfied or it would produce a chain of n buckets out where n is proportional to the size of the data that had been waiting around to be read in the pipe/socket. It was that inconsistency that was disliked. At this point, I'm willing to agree to whatever makes things work and would probably accept this inconsistency as long as it's documented. What we have now is bug-prone beyond belief. --Cliff
