On Mon, Oct 18, 2010 at 8:58 PM, Mike Kaplinskiy mike.kaplinskiy@gmail.com wrote:
On Sun, Oct 17, 2010 at 5:51 PM, Erich Hoover ehoover@mines.edu wrote:
... That's why in the original version I had those parameters split out; however, I realized that since the length parameter gets modified by WSARecvMsg that it is impossible for the WSAMSG structure (or any of its parameters) to disappear before WSARecvMsg completes. I have re-written the tests (see patch 4 at the end) to show that this structure gets modified even when an overlapped request is used and results in modification of the structure at a later time, the results from the test bot can be found here: https://testbot.winehq.org/JobDetails.pl?Key=6250
Fair enough. Would you mind adding a test to see if the flags are changed as well (and see if the flags returned by WSAGetOverlappedResult are of that sort as well)? If it doesn't you can drop lpFlags and just copy it from flags. Otherwise you may want to rename it to be less windows-y (like local_flags and flags).
I'm not entirely following you here, but if I understand you correctly then the lpFlags is appropriate. The flags in the WSAMSG structure get modified while the WSAGetOverlappedResult flags do not (which works "as is" since the overlapped version of the flags is not a pointer). I've changed the patch around a little so that the pointer version is only used when appropriate (and added tests for this functionality): [3/4] http://www.compholio.com/wine-kane/patches/2010-10-20/0003-ws2_32-Add-suppor... [4/4] http://www.compholio.com/wine-kane/patches/2010-10-20/0004-ws2_32-tests-Add-...
Erich Hoover ehoover@mines.edu