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

waitForReadyRead() call inhibits readyRead() signal emission on BlackBerry

    XMLWordPrintable

Details

    Description

      Custom implementation of virtual int QEventDispatcherBlackberry::select(...) function in qeventdispatcher_blackberry.cpp registers all the socket notifiers. The waitForReadyRead() function calls qt_safe_select() instead. It leads to erasing socket fds registered by all previous calls of QEventDispatcherBlackberry::registerSocketNotifier(...) and the readyRead() signal is not emitted any more after waitForReadyRead().

      Funny thing is that writing of any data to socket makes read notification working again. Current QT implementation of TCP socket write() also unregister write socket notifier before write and register it again afterward. Registering of write notifier re-register also the read one.

      The bug can be reproduced in attached example.

      Attachments

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

        Activity

          People

            peter-har Peter Hartmann
            fvacek Fanda Vacek
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes