Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
4.7.3, 4.7.4, 4.8.0
-
None
-
Windows
-
0307c008bf71e1272385d0e7f7c8d2c5a1ba6526
Description
It is possible to be in this situation (from debugger, this condition is hit, and then Thread n is blocked)
Thread n
QLocalSocket::close() -> QWindowsPipeWriter::~QWindowsPipeWriter() -> terminate()
Thread QWindowsPipeWriter
emit bytesWritten(totalWritten);
Because Thread QWindowsPiperWriter is holding signalSlotLock(object of QWindowsPipeWriter) when emitting and be terminated, and then in Thread n
QWindowsPipeWriter::~QWindowsPipeWriter() -> QThread::~QThread() -> QObject::~Object() will always wait signalSlotLock(object of QWindowsPipeWriter) and be blocked.
Attachments
Issue Links
- relates to
-
QTBUG-38185 QWindowsPipeWriter blocks if the reading process hangs
- Closed