Alexandre Julliard : odbc32: Don' t unload external libraries on process shutdown.
Alexandre Julliard
julliard at winehq.org
Tue Apr 30 12:51:28 CDT 2013
Module: wine
Branch: master
Commit: 21bfa0812eb45fe1ca048ace0e63d5b7071bf2f8
URL: http://source.winehq.org/git/wine.git/?a=commit;h=21bfa0812eb45fe1ca048ace0e63d5b7071bf2f8
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue Apr 30 17:25:29 2013 +0200
odbc32: Don't unload external libraries on process shutdown.
---
dlls/odbc32/proxyodbc.c | 32 +++++++++-----------------------
1 files changed, 9 insertions(+), 23 deletions(-)
diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c
index c7a5038..85b3dfe 100644
--- a/dlls/odbc32/proxyodbc.c
+++ b/dlls/odbc32/proxyodbc.c
@@ -465,39 +465,25 @@ static void ODBC_ReplicateToRegistry (void)
/***********************************************************************
* DllMain [Internal] Initializes the internal 'ODBC32.DLL'.
- *
- * PARAMS
- * hinstDLL [I] handle to the DLL's instance
- * fdwReason [I]
- * lpvReserved [I] reserved, must be NULL
- *
- * RETURNS
- * Success: TRUE
- * Failure: FALSE
*/
-
-BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD reason, LPVOID reserved)
{
- TRACE("Initializing or Finalizing proxy ODBC: %p,%x,%p\n", hinstDLL, fdwReason, lpvReserved);
+ TRACE("proxy ODBC: %p,%x,%p\n", hinstDLL, reason, reserved);
- if (fdwReason == DLL_PROCESS_ATTACH)
+ switch (reason)
{
- TRACE("Loading ODBC...\n");
+ case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls(hinstDLL);
if (ODBC_LoadDriverManager())
{
ODBC_LoadDMFunctions();
ODBC_ReplicateToRegistry();
}
- }
- else if (fdwReason == DLL_PROCESS_DETACH)
- {
- TRACE("Unloading ODBC...\n");
- if (dmHandle)
- {
- wine_dlclose(dmHandle,NULL,0);
- dmHandle = NULL;
- }
+ break;
+
+ case DLL_PROCESS_DETACH:
+ if (reserved) break;
+ if (dmHandle) wine_dlclose(dmHandle,NULL,0);
}
return TRUE;
More information about the wine-cvs
mailing list