* Fix a SEGFAULT by ensuring that buckets that may have been buffered in the
network filters get flushed to the network. This is needed since these buckets have been created with the bucket allocator of the backend connection. This allocator either gets destroyed if conn->close is set or the worker address is not reusable which causes the connection to the backend to be closed or it will be used again by another frontend connection that wants to recycle the backend connection. In this case we could run into nasty race conditions (e.g. if the next user of the backend connection destroys the allocator before we sent the buckets to the network). Remark 1: Doing a setaside does not help here as the buckets remain created by the wrong allocator in this case. Remark 2: Yes, this creates a possible performance penalty in the case of pipelined requests as we may send only a small amount of data over the wire. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@604447 13f79535-47bb-0310-9956-ffa450edef68
parent
6484de72
Please register or sign in to comment