qt5base-lts/tests/auto/corelib/kernel
Alex Trotsenko a6ec869211 Fix the spurious socket notifications under Windows
To handle network events, QEventDispatcherWin32 uses I/O model
based on notifications through the window message queue. Having
successfully posted notification of a particular event to an
application window, no further messages for that network event
will be posted to the application window until the application
makes the function call that implicitly re-enables notification
of that network event. With these semantics, an application need
not read all available data in response to an FD_READ message:
a single recv in response to each FD_READ message is appropriate.
If an application issues multiple recv calls in response to a
single FD_READ, it can receive multiple FD_READ messages
(including spurious).

To solve this issue, this patch always disables the notifier
after getting a notification, and re-enables it only when the
message queue is empty.

Task-number: QTBUG-46552
Change-Id: I05df67032911cd1f5927fa7912f7864bfbf8711e
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-10 12:51:02 +00:00
..
qcoreapplication Fix tst_QGuiApplication for embedded platforms using eglfs QPA 2015-09-10 06:29:11 +00:00
qeventdispatcher Update copyright headers 2015-02-11 06:49:51 +00:00
qeventloop fix usage of wince scope 2015-06-05 10:29:10 +00:00
qmath Update copyright headers 2015-02-11 06:49:51 +00:00
qmetaenum Fix QtPrivate::IsQEnumHelper<void> 2015-05-17 09:13:18 +00:00
qmetamethod Update copyright headers 2015-02-11 06:49:51 +00:00
qmetaobject Output registered enums in qDebug operator for QFlags. 2015-02-26 12:16:51 +00:00
qmetaobjectbuilder Update copyright headers 2015-02-11 06:49:51 +00:00
qmetaproperty Update copyright headers 2015-02-11 06:49:51 +00:00
qmetatype QMetaType: Fix compilation with non default constructible Q_GADGET 2015-05-27 10:51:10 +00:00
qmimedata Add support to set text/uri-list mimedata via setData() 2015-04-28 12:46:35 +00:00
qobject Make QMetaObject::Connection check its state deeply 2015-06-19 23:22:33 +00:00
qpointer Update copyright headers 2015-02-11 06:49:51 +00:00
qsharedmemory Skip instead of entirely excluding tests with disabled features 2015-03-16 09:34:15 +00:00
qsignalblocker Update copyright headers 2015-02-11 06:49:51 +00:00
qsignalmapper Update copyright headers 2015-02-11 06:49:51 +00:00
qsocketnotifier Fix the spurious socket notifications under Windows 2015-09-10 12:51:02 +00:00
qsystemsemaphore Skip instead of entirely excluding tests with disabled features 2015-03-16 09:34:15 +00:00
qtimer Fix the remainingTime() result after the first activation of a QTimer 2015-07-08 03:20:29 +00:00
qtranslator Update copyright headers 2015-02-11 06:49:51 +00:00
qvariant Fix building tests on QNX 2015-03-09 11:23:24 +00:00
qwineventnotifier Update copyright headers 2015-02-11 06:49:51 +00:00
kernel.pro iOS: Skip tests that don't make sense or don't work on the platform 2015-03-16 14:25:27 +00:00