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

QUdpSocket::bind not reentrant

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 4.8.1
    • Network: Sockets
    • None
    • Windows XP

    Description

      In different threads I create its QUdpSocket and call QUdpSocket::bind. Sometimes I receive "pure virtual method called". This error occurs in file qabstracksocketengine.cpp in function QAbstractSocketEngine::createSocketEngine at line “if (QAbstractSocketEngine *ret = socketHandlers()>at>createSocketEngine(socketType, proxy, parent))”.
      Remark. I receive this error only in first simultaneous calls of QUdpSocket::bind.

      If I understood right: QSocketEngineHandler constructor register himself in global list. After that and before call child constructor any other thread may call createSocketEngine which not define yet.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            shkearns Shane Kearns
            alexandrkr Alexandr
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes