https://bugs.winehq.org/show_bug.cgi?id=31438
--- Comment #194 from Heiko lil_tux@web.de --- Created attachment 50410 --> https://bugs.winehq.org/attachment.cgi?id=50410 ws2_32 test for non-overlapping, non-blocking WSARecv
A test case for non-overlapping, non-blocking WSARecv, that basically boils down to testing error handling and the resetting of the error code. This is needed for applications that check WSAGetLastError() even on successful returning of WSARecv, resulting in connection termination and/or undefined behaviour. A prominent example being Qt's QNativeSocketEnginePrivate::nativeRead [1]. I guess Windows does reset the error value to 0.
The testcase fails with unpatched WSARecv in the receiver thread, works with patched version.
Probably could be merged into existing test_WSARecv(), though I'm unsure on how that completion stuff affects things.
[1] https://qt.gitorious.org/qt/qtbase/source/876c2164f43a54fc4b98184a2f01652638...