![Zane Bitter](/assets/img/avatar_default.png)
The threading-compatible eventlet Event class has a race condition on the wait method. If greenthread A is blocked on the wait, but another greenthread B calls clear() and then set(), B calls self._event.send(), but A is waiting on a different eventlet Event which is no longer used by the oslo.service Event... To resolve this, when clearing an Event trigger the underlying eventlet Event immediately, then have the wait() method resume waiting on the new eventlet Event. Change-Id: I81579e2977bb965a5398a2cb4e3e24f5671e856a Co-Authored-By: Victor Stinner <vstinner@redhat.com> Co-Authored-By: Hervé Beraud <hberaud@redhat.com> Closes-Bug: #1805706
28 lines
800 B
Plaintext
28 lines
800 B
Plaintext
# The order of packages is significant, because pip processes them in the order
|
|
# of appearance. Changing the order has an impact on the overall integration
|
|
# process, which may cause wedges in the gate later.
|
|
|
|
hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
|
|
|
|
eventlet>=0.18.2,!=0.18.3,!=0.20.1,!=0.21.0,!=0.23.0 # MIT
|
|
fixtures>=3.0.0 # Apache-2.0/BSD
|
|
testscenarios>=0.4 # Apache-2.0/BSD
|
|
testtools>=2.2.0 # MIT
|
|
oslotest>=3.2.0 # Apache-2.0
|
|
ddt>=1.0.1 # MIT
|
|
stestr>=2.0.0 # Apache-2.0
|
|
|
|
# when we can require tox>= 1.4, this can go into tox.ini:
|
|
# [testenv:cover]
|
|
# deps = {[testenv]deps} coverage
|
|
coverage!=4.4,>=4.0 # Apache-2.0
|
|
|
|
# mocking framework
|
|
mock>=2.0.0 # BSD
|
|
|
|
# used for oslotest cross-testing scripts
|
|
oslo.config>=5.2.0 # Apache-2.0
|
|
|
|
# Bandit security code scanner
|
|
bandit>=1.1.0 # Apache-2.0
|