]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
- Removing (or adding) an event listener at the same time that the event
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 14 Aug 2014 18:40:28 +0000 (14:40 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 14 Aug 2014 18:40:28 +0000 (14:40 -0400)
commit4a4cccfee5a2eb78380e56eb9476e91658656676
tree86d8727dfa51538906b57f2872741642b1435b0c
parentc0c6aaa58ad1bf01345189a917029c40edc3c8eb
- Removing (or adding) an event listener at the same time that the event
is being run itself, either from inside the listener or from a
concurrent thread, now raises a RuntimeError, as the collection used is
now an instance of ``colletions.deque()`` and does not support changes
while being iterated.  Previously, a plain Python list was used where
removal from inside the event itself would produce silent failures.
fixes #3163
doc/build/changelog/changelog_10.rst
lib/sqlalchemy/event/api.py
lib/sqlalchemy/event/attr.py
lib/sqlalchemy/event/registry.py
test/base/test_events.py