Free ALLOC_CACHE_HANDLER on dll unload (#1253)
This commit is contained in:
parent
24ed5586dc
commit
5fc59b2331
|
|
@ -75,6 +75,8 @@ BOOL APIENTRY DllMain(HMODULE hModule,
|
||||||
break;
|
break;
|
||||||
case DLL_PROCESS_DETACH:
|
case DLL_PROCESS_DETACH:
|
||||||
g_fProcessDetach = TRUE;
|
g_fProcessDetach = TRUE;
|
||||||
|
IN_PROCESS_HANDLER::StaticTerminate();
|
||||||
|
ALLOC_CACHE_HANDLER::StaticTerminate();
|
||||||
DebugStop();
|
DebugStop();
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -180,11 +180,18 @@ HRESULT
|
||||||
Finished:
|
Finished:
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
{
|
{
|
||||||
if (sm_pAlloc != NULL)
|
StaticTerminate();
|
||||||
{
|
|
||||||
delete sm_pAlloc;
|
|
||||||
sm_pAlloc = NULL;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// static
|
||||||
|
void
|
||||||
|
IN_PROCESS_HANDLER::StaticTerminate(VOID)
|
||||||
|
{
|
||||||
|
if (sm_pAlloc != NULL)
|
||||||
|
{
|
||||||
|
delete sm_pAlloc;
|
||||||
|
sm_pAlloc = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -70,6 +70,10 @@ public:
|
||||||
HRESULT
|
HRESULT
|
||||||
StaticInitialize(VOID);
|
StaticInitialize(VOID);
|
||||||
|
|
||||||
|
static
|
||||||
|
void
|
||||||
|
StaticTerminate(VOID);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
REQUEST_NOTIFICATION_STATUS
|
REQUEST_NOTIFICATION_STATUS
|
||||||
ServerShutdownMessage() const;
|
ServerShutdownMessage() const;
|
||||||
|
|
|
||||||
|
|
@ -260,6 +260,8 @@ BOOL APIENTRY DllMain(HMODULE hModule,
|
||||||
break;
|
break;
|
||||||
case DLL_PROCESS_DETACH:
|
case DLL_PROCESS_DETACH:
|
||||||
g_fProcessDetach = TRUE;
|
g_fProcessDetach = TRUE;
|
||||||
|
FORWARDING_HANDLER::StaticTerminate();
|
||||||
|
ALLOC_CACHE_HANDLER::StaticTerminate();
|
||||||
DebugStop();
|
DebugStop();
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue