The finished
signal and the replyFinished
slot have different signatures. Try to define your slot with the same signature as your signal. Something like:
void ReqProcessor::replyFinished (QNetworkReply* reply)
{
}
The default Qt connection type is AutoConnection
which means that if the emitted signal is from another thread, it's slot is queued and invoked when control returns to the current thread's event loop (like a QueuedConnection
). Since you have a blocking loop in your thread, the control is never returns to the thread's event loop...
Try to connect your slot with a DirectConnection
. Something like:
connect (manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished()), Qt::DirectConnection);