diff --git a/lib/locking.py b/lib/locking.py index 3f30c06b9595ad4a49032ce54e2b9d04250323ba..9f5f7f5881d1065ec0eaa8daa265562ca64862f6 100644 --- a/lib/locking.py +++ b/lib/locking.py @@ -141,12 +141,15 @@ class _SingleNotifyPipeConditionWaiter(object): while True: remaining_time = running_timeout.Remaining() - if remaining_time is not None and remaining_time < 0.0: - break + if remaining_time is not None: + if remaining_time < 0.0: + break - try: # Our calculation uses seconds, poll() wants milliseconds - result = self._poller.poll(1000 * remaining_time) + remaining_time *= 1000 + + try: + result = self._poller.poll(remaining_time) except EnvironmentError, err: if err.errno != errno.EINTR: raise