On Sat, 31 Aug 2002, Brian Pane wrote: > * The bucket allocator alloc/free code isn't > thread-safe, so bad things will happen if the > writer thread tries to free a bucket (that's > just been written to the client) at the same > time that a worker thread is allocating a new > bucket for a subsequent request on the same > connection.
We designed with this in mind... basically what's supposed to happen is that rather than having a bucket allocator per thread you have a group of available bucket allocators, and you assign one to each new connection. Since each connection will be processed by at most one thread at a time, you're safe. When the connection is closed, the allocator is placed back into the list of available allocators for reuse on future connections. --Cliff