Revision 6683bba2 lib/mcpu.py

b/lib/mcpu.py
139 139
      share = lu.share_locks[level]
140 140
      # This is always safe to do, as we can't acquire more/less locks than
141 141
      # what was requested.
142
      lu.needed_locks[level] = self.context.glm.acquire(level,
143
                                                        needed_locks,
144
                                                        shared=share)
142
      lu.acquired_locks[level] = self.context.glm.acquire(level,
143
                                                          needed_locks,
144
                                                          shared=share)
145 145
      try:
146 146
        result = self._LockAndExecLU(lu, level + 1)
147 147
      finally:
148
        if lu.needed_locks[level]:
148
        # We need to release the current level if we acquired any lock, or if
149
        # we acquired the set-lock (needed_locks is None)
150
        if lu.needed_locks[level] is None or lu.acquired_locks[level]:
149 151
          self.context.glm.release(level)
150 152
    else:
151 153
      result = self._LockAndExecLU(lu, level + 1)

Also available in: Unified diff