On 2005-09-14, Robert Shearman <[EMAIL PROTECTED]> 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.