Добрый день!
Программа использует наследника QThread для получения event'ов от PosgtreSQL. При этом загрузка процессора в TaskManager'е показвается 99%. Пробовал в теле потока вызывать QApplication::eventLoop()->processEvents(QEventLoop::ExcludeUserInput) - не помогает. Что делаю не так?
Вот код метода run():
void dbEventsThread::run() {
done = false;
int socket = PQsocket(fConnection->connection);
while (!done) {
PQconsumeInput(fConnection->connection);
while ((fNotify = PQnotifies(fConnection->connection)) != NULL) {
sendEvent(fNotify->relname);
PQfreemem(fNotify);
}
QApplication::eventLoop()->processEvents(QEventLoop::ExcludeUserInput);
}
}
P.S. QT 3.3.3 + VC++ 6.0