The IDL change_seqno can change as a result of running idl.run(), and
it returns True if there has been a change. The existing code would
block without checking the return value, and therefor could block
until another change occurred, or the timeout was reached.
Closes-Bug: #
1501090
Change-Id: I9b7aac2755e6e6b69165023e01583337f9d30f15
if seqno is None:
seqno = _idl.change_seqno
stop = time.time() + timeout
- while _idl.change_seqno == seqno:
- _idl.run()
+ while _idl.change_seqno == seqno and not _idl.run():
ovs_poller = poller.Poller()
_idl.wait(ovs_poller)
ovs_poller.timer_wait(timeout * 1000)