Russian Qt Forum

Qt => Многопоточное программирование, процессы => Тема начата: Максим от Август 04, 2016, 18:00



Название: Ошибка SIGSEGV на QEventLoop->exec() при запуске дебага
Отправлено: Максим от Август 04, 2016, 18:00
Доброго времени суток.
Есть задача приостанавливать поток до наступления определённого сигнала. Гугленье вылилось в такую конструкцию:

Код:
void TTaskDispatcher::wait() // приостановка выполнения потока
{
    loop = new QEventLoop(this);
    loop->exec();  // здесь получаю SIGSEGV
}
 
void TTaskDispatcher::BeginDoTask() // возобновление выполнения
{   
    loop->quit();
    delete loop;
}

вроде работает, но мне понадобилось запустить программу под дебагом, чтобы посмотреть совсем другое место кода. Но на строчке loop->exec(); программа падает из-за Sigmentation fault. Полез в гугл, нашёл только одну похожую проблему, именно на QEventLoop->exec(). Там была проблема с антивирусом. У себя, естественно, всё поотрубав проблему не решил.
Прошу помощи.