]> granicus.if.org Git - libevent/commit
Free event queues even for recursive finalizers
authorAzat Khuzhin <a3at.mail@gmail.com>
Fri, 30 Oct 2015 10:34:30 +0000 (13:34 +0300)
committerAzat Khuzhin <a3at.mail@gmail.com>
Fri, 30 Oct 2015 11:48:14 +0000 (14:48 +0300)
commit7c8d0152dda18ecc52d3099fea235b04ddb850d9
tree402ad6eb07fbb63a83861d6b69f16f77034c0712
parent337684b8e8fc0329fb8bcc27517cf167fa5383f7
Free event queues even for recursive finalizers

For finalizers we can register yet another finalizer out from finalizer, and
iff finalizer will be in active_later_queue we can add finalizer to
activequeues, and we will have events in activequeues after event_base_free()
returns, which is not what we want (we even have an assertion for this).

A simple case is bufferevent with underlying (i.e. filters) in inactive queue.

Fixes: regress bufferevent/bufferevent_socket_filter_inactive
event.c