Qt笔记-解决QSslSocket中QWaitCondition: Destroyed while threads are still waiting问题

Posted IT1995

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt笔记-解决QSslSocket中QWaitCondition: Destroyed while threads are still waiting问题相关的知识,希望对你有一定的参考价值。

一般出现这个问题是代码里面出现逻辑错误。

我这里是没有disconnect,直接close造成的。如下:

会报这个错误:

QWaitCondition: Destroyed while threads are still waiting

使用下面这个逻辑解决

void QSSLClient::closeSocket()
{
    if(m_client->disconnect())
        m_client->close();
}

或:

void QSSLClient::closeSocket()
{
    if(m_client->waitForConnected())
        m_client->close();
}

以上是关于Qt笔记-解决QSslSocket中QWaitCondition: Destroyed while threads are still waiting问题的主要内容,如果未能解决你的问题,请参考以下文章

Qt:QSslSocket::bytesWritten() 信号发出过于频繁

Qt笔记-解决QSocketNotifier: Multiple socket notifiers for same socket xxx and type Read问题

qt.network.ssl: QSslSocket Qt支持SSL https

Qt QSslSocket“证书是自签名的,不受信任”

不使用 SSL 时出现 QSslSocket 错误

QTcpSocket 不加载 ssl