Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-23378

Windows QLocalSocket::close() blocking

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: P3: Somewhat important P3: Somewhat important
    • 5.6.1
    • 4.7.3, 4.7.4, 4.8.0
    • Network: Sockets
    • None
    • Windows
    • 0307c008bf71e1272385d0e7f7c8d2c5a1ba6526

      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.

        1. QTBUG-23378.cpp
          2 kB
          Kevin Puetz
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            jbornema Joerg Bornemann
            huahtu Huah Tu
            Votes:
            3 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes