PyQt: QMutexLocker не освобождается при исключении

У меня есть следующий код:

def query(self,query):
  lock = QMutexLocker(self.mutex)
  reply = self.conn.query(query)
  if (re.search("error", reply) != None):
    raise GeneralError("Query error")

  #more code...  
  return reply

Теперь, если выдается исключение, блокировка не кажется удаленной, причина мьютекс не освобождается. Я, конечно, могу сделать "del lock" везде, но это сводит на нет весь смысл qmutexlocker. Связано ли это со сборкой мусора Python? Если да, то это должно означать, что QMutexLocker вообще нельзя использовать в Python?

5
задан Rolle 29 June 2012 в 12:19
поделиться