qt5base-lts/tests/auto
Thiago Macieira 3ccfc351fd QProcess: Handle spurious socket notifications for stdout and stderr
On Unix systems where the GUI event dispatcher uses a notification
system for socket notifiers that is out of band compared to select(),
it's possible for the QSocketNotifier to activate after the pipe has
been read from. When that happened, the ioctl(2) call with FIONREAD
might return 0 bytes available, which we interpreted to mean EOF.

Instead of doing that, always try to read at least one byte and examine
the returned byte count from read(2). If it returns 0, that's a real
EOF; if it returns -1 EWOULDBLOCK, we simply ignore the situation.

That's the case on OS X: the Cocoa event dispatcher uses CFSocket to get
notifications and those use kevent (and, apparently, an auxiliary
thread) instead of an in-thread select() or poll(). That means the event
loop would activate the QSocketNotifier even though there is nothing to
be read.

Task-number: QTBUG-39488
Change-Id: I1a58b5b1db7a47034fb36a78a005ebff96290efb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-06-12 17:54:11 +02:00
..
android Android: Add some ci usage features to Android testrunner 2014-04-09 10:46:40 +02:00
bic/data test: Add 5.1.0 bic data for linux-gcc-ia32 2013-07-08 21:47:36 +02:00
cmake purge vestiges of opengl es 1 support 2014-04-04 19:32:21 +02:00
compilerwarnings/data Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
concurrent Add diagnostic output to tst_QtConcurrentIterateKernel. 2014-04-09 10:43:32 +02:00
corelib QProcess: Handle spurious socket notifications for stdout and stderr 2014-06-12 17:54:11 +02:00
dbus Fix dangling pointer dereferencing 2014-05-09 03:39:34 +02:00
gui Add missing detach() in QPixmap::convertFromImage() 2014-06-11 23:06:01 +02:00
guiapplauncher Update the documentation after moving examples. 2011-07-05 21:19:08 +02:00
installed_cmake Add a unit test for testing Qt in its install location. 2013-07-02 23:08:54 +02:00
network tst_qtcpsocket: fix comment, the slot goes to 512 2014-06-09 10:39:44 +02:00
opengl Merge remote-tracking branch 'origin/release' into stable 2014-05-01 13:08:42 +02:00
other QProcess: Handle spurious socket notifications for stdout and stderr 2014-06-12 17:54:11 +02:00
printsupport QPrinter - Expect failure of QPrinter page size test 2014-03-17 13:46:29 +01:00
shared iOS: Fix compilation of some basic tests 2014-01-17 11:04:43 +01:00
sql Use sched_yield instead of pthread_yield 2014-05-05 22:40:49 +02:00
testlib QNX: Fix tst_selftest 2014-05-16 10:20:34 +02:00
tools Remove qSort usages from tests 2014-02-20 08:10:06 +01:00
widgets Merge "Merge remote-tracking branch 'origin/stable' into 5.3" into refs/staging/5.3 2014-06-11 23:06:01 +02:00
xml Speed up tst_QXmlSimpleReader. 2014-05-08 16:06:11 +02:00
auto.pro iOS: Enable building of basic tests 2014-01-22 12:35:17 +01:00
network-settings.h network test settings: support newer FTP server versions 2013-08-28 12:45:34 +02:00
qtest-config.h Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
test.pl Whitespace cleanup: remove trailing whitespace 2013-03-16 20:22:50 +01:00