I saw the bug described in: http://winehq.com/hypermail/wine-users/2001/01/0516.html happened again to a program I was trying to use. At least the behavior is the same. I have no access to the source code. It seems the problem was fixed in revision 1.42 of socket.c. But now at 1.139, WSACleanup again return 0 forever on repeating calls.
On 2005-09-10, JustFillBug mozbugbox@yahoo.com.au wrote:
I saw the bug described in: http://winehq.com/hypermail/wine-users/2001/01/0516.html happened again to a program I was trying to use. At least the behavior is the same. I have no access to the source code. It seems the problem was fixed in revision 1.42 of socket.c. But now at 1.139, WSACleanup again return 0 forever on repeating calls.
Someone please fix this up. From cvs, it was broken by revision 1.168 (Robert Shearman at codeweavers.com) when the per-process buffer in socket was converted to per-thread one.
JustFillBug wrote:
On 2005-09-10, JustFillBug mozbugbox@yahoo.com.au wrote:
I saw the bug described in: http://winehq.com/hypermail/wine-users/2001/01/0516.html happened again to a program I was trying to use. At least the behavior is the same. I have no access to the source code. It seems the problem was fixed in revision 1.42 of socket.c. But now at 1.139, WSACleanup again return 0 forever on repeating calls.
Someone please fix this up. From cvs, it was broken by revision 1.168 (Robert Shearman at codeweavers.com) when the per-process buffer in socket was converted to per-thread one.
Does this patch fix it?
On 2005-09-14, Robert Shearman rob@codeweavers.com wrote:
Does this patch fix it?
RCS file: /home/wine/wine/dlls/winsock/socket.c,v retrieving revision 1.189 diff -u -p -r1.189 socket.c --- dlls/winsock/socket.c 27 Aug 2005 09:20:24 -0000 1.189 +++ dlls/winsock/socket.c 14 Sep 2005 15:53:41 -0000 @@ -700,7 +700,10 @@ int WINAPI WSAStartup(WORD wVersionReque INT WINAPI WSACleanup(void) { if (num_startup)
- {
num_startup--; return 0;
- } SetLastError(WSANOTINITIALISED); return SOCKET_ERROR;
}
Yes but do you need to clean up whatever resources when num_startup == 0? I don't really know wine code but it seems the old way cleaned up some resources when num_startup went to zero: WINSOCK_DeleteIData();. Maybe free_per_thread_data() or DllMain()? Just an observation.
Thanks.
On 2005-09-14, Robert Shearman rob@codeweavers.com wrote:
On 2005-09-10, JustFillBug mozbugbox@yahoo.com.au wrote:
I saw the bug described in: http://winehq.com/hypermail/wine-users/2001/01/0516.html happened again to a program I was trying to use. At least the behavior is the same. I have no access to the source code. It seems the problem was fixed in revision 1.42 of socket.c. But now at 1.139, WSACleanup again return 0 forever on repeating calls.
Does this patch fix it?
Are you going to send the patch to be commited?