В моем приложении мне нужно заблокировать выполнение до тех пор, пока не поступит сигнал (дождитесь завершения веб-запроса). Это происходит в потоке без графического интерфейса.
Глядя на пример блокировки клиента удачи в Qt 5.3 docs, похоже, что он использует метод waitForConnected(), специфичен для класса QTcpSocket, но я использую QNetworkAccessManager, который вообще не имеет методов ожидания.
Я также читал в другом месте, что для этого может потребоваться создать временный QEventLoop, который будет блокироваться до завершения событий. Это решение поставляется с кучей предупреждений о том, что его не следует использовать в «производственном коде» из-за различных скрытых проблем, которые могут возникнуть в крайних случаях и т. д.
Так. Что делать парню?
Могу ли я как-то заставить это работать с QWaitCondition без введения второго потока? Какие примитивы синхронизации существуют в Qt5, которые позволили бы мне ждать поступления сигнала в одном потоке?
Спасибо!