From b6b87034f8ff84b8051a8b3cbcc5f8dd1942c328 Mon Sep 17 00:00:00 2001 From: Michael Hanselmann <hansmi@google.com> Date: Tue, 13 Oct 2009 19:23:58 +0200 Subject: [PATCH] locking, mcpu: Ensure timeout is always >= 0.0 Signed-off-by: Michael Hanselmann <hansmi@google.com> Reviewed-by: Iustin Pop <iustin@google.com> --- lib/locking.py | 2 +- lib/mcpu.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/locking.py b/lib/locking.py index f13d7b23f..b02766191 100644 --- a/lib/locking.py +++ b/lib/locking.py @@ -783,7 +783,7 @@ class LockSet: calc_remaining_timeout = lambda: None else: start = time.time() - calc_remaining_timeout = lambda: (start + timeout) - time.time() + calc_remaining_timeout = lambda: max(0.0, (start + timeout) - time.time()) try: if names is not None: diff --git a/lib/mcpu.py b/lib/mcpu.py index 647a69a7d..d53bd58f1 100644 --- a/lib/mcpu.py +++ b/lib/mcpu.py @@ -136,7 +136,8 @@ class _LockAttemptTimeoutStrategy(object): remaining_timeout += ((self._random_fn() * variation_range) - (variation_range * 0.5)) - assert remaining_timeout >= 0.0, "Timeout must be positive" + # Make sure timeout is >= 0 + remaining_timeout = max(0.0, remaining_timeout) return remaining_timeout -- GitLab