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

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

XMLWordPrintable

      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.

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

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

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes