speed up tst_QLocalSocket::readBufferOverflow
Ifdef out waitForBytesWritten on Windows. See comment in source. Change-Id: I7a2268d2634c2524cd8291c72dd9708e430e314e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>bb10
parent
b2189acfc1
commit
000025ca1e
|
|
@ -555,7 +555,16 @@ void tst_QLocalSocket::readBufferOverflow()
|
|||
char buffer[dataBufferSize];
|
||||
memset(buffer, 0, dataBufferSize);
|
||||
serverSocket->write(buffer, dataBufferSize);
|
||||
#ifndef Q_OS_WIN
|
||||
// The data is not immediately sent, but buffered.
|
||||
// On Windows, the flushing is done asynchronously by a separate thread.
|
||||
// However, this operation will never complete as long as the data is not
|
||||
// read by the other end, so the call below always times out.
|
||||
// On Unix, the flushing is synchronous and thus needs to be done before
|
||||
// attempting to read the data in the same thread. Buffering by the OS
|
||||
// prevents the deadlock seen on Windows.
|
||||
serverSocket->waitForBytesWritten();
|
||||
#endif
|
||||
|
||||
// wait until the first 128 bytes are ready to read
|
||||
QVERIFY(client.waitForReadyRead());
|
||||
|
|
|
|||
Loading…
Reference in New Issue