Merge "Avoid calling eventlet.event.Event.reset()"

This commit is contained in:
Zuul 2019-01-18 03:31:53 +00:00 committed by Gerrit Code Review
commit eff0629790
2 changed files with 6 additions and 9 deletions

View File

@ -165,11 +165,9 @@ class EventletEvent(object):
isSet = is_set
def set(self):
if self._set:
self._event.reset()
self._set = True
self._event.send(True)
if not self._set:
self._set = True
self._event.send(True)
def wait(self, timeout=None):
with timeutils.StopWatch(timeout) as sw:

View File

@ -146,12 +146,11 @@ class EventletUtilsTest(test_base.BaseTestCase):
self.assertTrue(hasattr(e_event, method))
# Ensure set() allows multiple invocations, same as in
# threading implementation. Must call reset on underlying
# Event before reusing it
# threading implementation.
e_event.set()
self.assertEqual(0, mock_eventlet.event.Event().reset.call_count)
self.assertTrue(e_event.isSet())
e_event.set()
self.assertEqual(1, mock_eventlet.event.Event().reset.call_count)
self.assertTrue(e_event.isSet())
def test_event_no_timeout(self):
event = eventletutils.EventletEvent()