У меня есть следующий код:
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?