[PATCH 1/4] webservices: Call WSACleanup when the dll is unloaded.
Signed-off-by: Hans Leidekker <hans(a)codeweavers.com> --- dlls/webservices/listener.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/dlls/webservices/listener.c b/dlls/webservices/listener.c index a178e276e4..357a1c6a53 100644 --- a/dlls/webservices/listener.c +++ b/dlls/webservices/listener.c @@ -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 */ -- 2.11.0
participants (1)
-
Hans Leidekker