]> git.ipfire.org Git - thirdparty/apache/httpd.git/commit
event: follow up to r1762701.
authorYann Ylavic <ylavic@apache.org>
Wed, 18 Jan 2017 16:08:51 +0000 (16:08 +0000)
committerYann Ylavic <ylavic@apache.org>
Wed, 18 Jan 2017 16:08:51 +0000 (16:08 +0000)
commit69c942269d690a390d5e1c7072aeff10988ac6ac
tree1add550ab43e7809552b48877a9f8864e0236589
parent1bf31af8b63954daed295ef778992a43f03b2da2
event: follow up to r1762701.
Keep QUEUE_APPEND()+pollset_add() or QUEUE_REMOVE()+pollset_remove() atomic.

Otherwise when a worker adds an entry in some queue (e.g. KA, lingering), it
might race with the listener in the time between the mutex is released and the
pollset is updated; meanwhile the listener might process the queue and find an
entry no yet in its pollset.

For the lingering queue, the entry could then have been used after its pool
destroyed.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1779354 13f79535-47bb-0310-9956-ffa450edef68
server/mpm/event/event.c