Re: Прерывание потока во время выполнения
От: Karbofos Россия  
Дата: 11.06.13 10:29
Оценка:
Здравствуйте, andrey-x86, Вы писали:

AX>Таким образом, возникает вопрос: что я делаю не так, либо чего я не учитываю?


Такое поведение обычно возникает когда запускается вложенный EventLoop.
Посмотрите, нет ли у вас в коде foo() или в вызываемых им функциях явного вызова QEventLoop::exec() либо метода XXX::processEvents(), где XXX = QEventLoop, QApplication или QCoreApplication. Скорее всего что-то подобное найдется.
Вообще, лучше избегать вложенных EventLoop. Но если это действительно необходимо, то проблему дедлока можно обойти создав mutex с параметром RecursionMode = Recursive. Однако, при этом можно получить несколько других проблем.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.