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

Windows QLocalSocket::close() blocking

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P3: Somewhat important
    • 5.6.1
    • 4.7.3, 4.7.4, 4.8.0
    • Network: Sockets
    • 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

          For Gerrit Dashboard: QTBUG-23378
          # Subject Branch Project Status CR V

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes