QWaitCondition立即在Android上返回

时间:2015-05-20 12:49:29

标签: android multithreading qt

我想使用Qt 5.4在QtCreator中开发一个应用程序。 我正在尝试将通信与QMutex和QWaitCondition同步。通信在一个单独的线程中运行,该线程请求数据然后使用QWaitCondition等待答案,如果主机不可用,则等待条件在timeout_ms中指定的时间之后返回。

mtWait.lock();
bool ret = wcWait.wait(&mtWait, timeout_ms);
mtWait.unlock();

当我在我的PC上运行它(使用minGW编译)时应用程序运行良好,但是当我使用Build-kit for android(编译器是gcc 4.9)时,等待条件立即返回超时(ret == false) )。 只有在没有指定超时(即等待条件永远等待)时,它才能按预期工作。 (但需要超时,因为连接可能会在运行时中断。)

有人知道这个问题,或者甚至有解决方案吗?

提前感谢并祝福,

托马斯。

1 个答案:

答案 0 :(得分:0)

不确定,但也许这是相关的 QTBUG-46047

如果是这样,你必须等待Qt 5.4.2或用补丁构建Qt(参见QTBUG-44386)

相关问题