Francois Gouget : rpcrt4: Delete the static critical sections when unloading the dll.

Alexandre Julliard julliard at winehq.org
Thu Nov 17 12:52:35 CST 2011


Module: wine
Branch: master
Commit: 92ff5f354873cb845f79d950a9877e5c4c02b8aa
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=92ff5f354873cb845f79d950a9877e5c4c02b8aa

Author: Francois Gouget <fgouget at codeweavers.com>
Date:   Thu Nov 17 09:53:51 2011 +0100

rpcrt4: Delete the static critical sections when unloading the dll.

---

 dlls/rpcrt4/rpc_server.c  |    3 +++
 dlls/rpcrt4/rpcrt4_main.c |    2 ++
 2 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/dlls/rpcrt4/rpc_server.c b/dlls/rpcrt4/rpc_server.c
index 558fbd8..9121280 100644
--- a/dlls/rpcrt4/rpc_server.c
+++ b/dlls/rpcrt4/rpc_server.c
@@ -1078,6 +1078,8 @@ void RPCRT4_destroy_all_protseqs(void)
         destroy_serverprotoseq(cps);
     }
     LeaveCriticalSection(&server_cs);
+    DeleteCriticalSection(&server_cs);
+    DeleteCriticalSection(&listen_cs);
 }
 
 /***********************************************************************
@@ -1321,6 +1323,7 @@ void RPCRT4_ServerFreeAllRegisteredAuthInfo(void)
         HeapFree(GetProcessHeap(), 0, auth_info);
     }
     LeaveCriticalSection(&server_auth_info_cs);
+    DeleteCriticalSection(&server_auth_info_cs);
 }
 
 /***********************************************************************
diff --git a/dlls/rpcrt4/rpcrt4_main.c b/dlls/rpcrt4/rpcrt4_main.c
index 5976948..53f3bbd 100644
--- a/dlls/rpcrt4/rpcrt4_main.c
+++ b/dlls/rpcrt4/rpcrt4_main.c
@@ -140,6 +140,8 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
     case DLL_PROCESS_DETACH:
         RPCRT4_destroy_all_protseqs();
         RPCRT4_ServerFreeAllRegisteredAuthInfo();
+        DeleteCriticalSection(&uuid_cs);
+        DeleteCriticalSection(&threaddata_cs);
         break;
     }
 




More information about the wine-cvs mailing list