webservices: Call WSACleanup when the dll is unloaded.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Hans Leidekker 2018-06-06 14:10:07 +02:00 committed by Alexandre Julliard
parent 70cedb3e5e
commit 10897a1f26
1 changed files with 22 additions and 0 deletions

View File

@ -31,6 +31,8 @@
WINE_DEFAULT_DEBUG_CHANNEL(webservices);
HINSTANCE webservices_instance;
static BOOL winsock_loaded;
static BOOL WINAPI winsock_startup( INIT_ONCE *once, void *param, void **ctx )
@ -48,6 +50,26 @@ void winsock_init(void)
InitOnceExecuteOnce( &once, winsock_startup, NULL, NULL );
}
/******************************************************************
* DllMain (webservices.@)
*/
BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, void *reserved )
{
switch (reason)
{
case DLL_PROCESS_ATTACH:
webservices_instance = hinst;
DisableThreadLibraryCalls( hinst );
break;
case DLL_PROCESS_DETACH:
if (reserved) break;
if (winsock_loaded) WSACleanup();
break;
}
return TRUE;
}
static const struct prop_desc listener_props[] =
{
{ sizeof(ULONG), FALSE }, /* WS_LISTENER_PROPERTY_LISTEN_BACKLOG */