cc8b51e1e1
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
47 lines
746 B
Plaintext
47 lines
746 B
Plaintext
appdirs==1.3.0
|
|
Babel==2.3.4
|
|
bandit==1.4.0
|
|
coverage==4.0
|
|
ddt==1.0.1
|
|
debtcollector==1.2.0
|
|
eventlet==0.18.2
|
|
extras==1.0.0
|
|
fixtures==3.0.0
|
|
flake8==2.5.5
|
|
funcsigs==1.0.0
|
|
gitdb==0.6.4
|
|
GitPython==1.0.1
|
|
hacking==0.12.0
|
|
iso8601==0.1.11
|
|
keystoneauth1==3.4.0
|
|
linecache2==1.0.0
|
|
mccabe==0.2.1
|
|
mock==2.0.0
|
|
monotonic==0.6
|
|
netaddr==0.7.18
|
|
netifaces==0.10.4
|
|
os-client-config==1.28.0
|
|
oslo.config==5.2.0
|
|
oslo.i18n==3.15.3
|
|
oslotest==3.2.0
|
|
pbr==2.0.0
|
|
pep8==1.5.7
|
|
pyflakes==0.8.1
|
|
pyparsing==2.1.0
|
|
python-mimeparse==1.6.0
|
|
python-subunit==1.0.0
|
|
pytz==2013.6
|
|
PyYAML==3.12
|
|
requests==2.14.2
|
|
requestsexceptions==1.2.0
|
|
rfc3986==0.3.1
|
|
six==1.10.0
|
|
smmap==0.9.0
|
|
stestr==2.0.0
|
|
stevedore==1.20.0
|
|
testscenarios==0.4
|
|
testtools==2.2.0
|
|
traceback2==1.4.0
|
|
unittest2==1.1.0
|
|
wrapt==1.7.0
|