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