qt5base-lts/tests/auto/corelib
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
..
animation Update copyright headers 2015-02-11 06:49:51 +00:00
codecs fix usage of wince scope 2015-06-05 10:29:10 +00:00
global Disable thread-safe statics for MSVC 2015: they're broken 2015-07-16 08:28:07 +00:00
io tst_qprocess cleanup 2015-08-17 08:25:24 +00:00
itemmodels Fix less-than comparison for QStandardItem and QSortFilterProxyModel with invalid data. 2015-06-11 13:29:23 +00:00
json Make sure remove() doesn't corrupt the json object 2015-03-18 07:34:59 +00:00
kernel Fix the spurious socket notifications under Windows 2015-09-10 12:51:02 +00:00
mimetypes QMimeDatabase: warn instead of asserting on bad magic. 2015-09-04 20:00:22 +00:00
plugin fix usage of wince scope 2015-06-05 10:29:10 +00:00
statemachine QStateMachine: empty the whole internal queue before external queue 2015-05-19 08:03:46 +00:00
thread Use qthread_win.cpp for WinRT as well 2015-06-23 05:47:14 +00:00
tools Avoid overflow in QTime::addSecs with too big a number of seconds 2015-08-19 22:13:40 +00:00
xml Update copyright headers 2015-02-11 06:49:51 +00:00
corelib.pro iOS: Enable building of basic tests 2014-01-22 12:35:17 +01:00