From 6f14fc2717d2f11368a3f1f61ebdad1d9a8d3889 Mon Sep 17 00:00:00 2001 From: Michael Hanselmann <hansmi@google.com> Date: Tue, 13 Oct 2009 18:31:30 +0200 Subject: [PATCH] mcpu: Make sure added locks are released on errors Signed-off-by: Michael Hanselmann <hansmi@google.com> Reviewed-by: Guido Trotter <ultrotter@google.com> --- lib/mcpu.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/mcpu.py b/lib/mcpu.py index f67114c90..647a69a7d 100644 --- a/lib/mcpu.py +++ b/lib/mcpu.py @@ -381,8 +381,6 @@ class Processor(object): if acquired is None: raise _LockAcquireTimeout() - lu.acquired_locks[level] = acquired - else: # Adding locks add_locks = lu.add_locks[level] @@ -395,8 +393,11 @@ class Processor(object): "Couldn't add locks (%s), probably because of a race condition" " with another job, who added them first" % add_locks) - lu.acquired_locks[level] = add_locks + acquired = add_locks + try: + lu.acquired_locks[level] = acquired + result = self._LockAndExecLU(lu, level + 1, calc_timeout) finally: if level in lu.remove_locks: -- GitLab