From e5661a46b7a93e1b41118d50504bcdffb1169d61 Mon Sep 17 00:00:00 2001 From: pan-wang Date: Thu, 15 Mar 2018 16:47:21 -0700 Subject: [PATCH] do cleanup inside inprocessapplication destrutor (#676) --- .../inprocess/inprocessapplication.cpp | 10 +- .../inprocess/inprocessapplication.h | 106 +++++++++--------- 2 files changed, 62 insertions(+), 54 deletions(-) diff --git a/src/RequestHandler/inprocess/inprocessapplication.cpp b/src/RequestHandler/inprocess/inprocessapplication.cpp index c3fca31b87..879ea30a63 100644 --- a/src/RequestHandler/inprocess/inprocessapplication.cpp +++ b/src/RequestHandler/inprocess/inprocessapplication.cpp @@ -29,7 +29,15 @@ IN_PROCESS_APPLICATION::IN_PROCESS_APPLICATION( IN_PROCESS_APPLICATION::~IN_PROCESS_APPLICATION() { - // TODO check if anything else needs to be cleaned up + if (m_hLogFileHandle != INVALID_HANDLE_VALUE) + { + m_Timer.CancelTimer(); + CloseHandle(m_hLogFileHandle); + m_hLogFileHandle = INVALID_HANDLE_VALUE; + } + + m_hThread = NULL; + s_Application = NULL; } __override diff --git a/src/RequestHandler/inprocess/inprocessapplication.h b/src/RequestHandler/inprocess/inprocessapplication.h index d9a1e33e9e..100f481e77 100644 --- a/src/RequestHandler/inprocess/inprocessapplication.h +++ b/src/RequestHandler/inprocess/inprocessapplication.h @@ -15,8 +15,8 @@ public: ~IN_PROCESS_APPLICATION(); __override - VOID - ShutDown(); + VOID + ShutDown(); VOID SetCallbackHandles( @@ -35,43 +35,43 @@ public: // Executes the .NET Core process HRESULT - ExecuteApplication( - VOID - ); + ExecuteApplication( + VOID + ); VOID - ReadStdErrHandleInternal( - VOID - ); + ReadStdErrHandleInternal( + VOID + ); VOID - CloseStdErrHandles( - VOID - ); + CloseStdErrHandles( + VOID + ); HRESULT - LoadManagedApplication( - VOID - ); + LoadManagedApplication( + VOID + ); VOID - LogErrorsOnMainExit( - HRESULT hr - ); + LogErrorsOnMainExit( + HRESULT hr + ); REQUEST_NOTIFICATION_STATUS - OnAsyncCompletion( - DWORD cbCompletion, - HRESULT hrCompletionStatus, - IN_PROCESS_HANDLER* pInProcessHandler - ); + OnAsyncCompletion( + DWORD cbCompletion, + HRESULT hrCompletionStatus, + IN_PROCESS_HANDLER* pInProcessHandler + ); REQUEST_NOTIFICATION_STATUS - OnExecuteRequest - ( - IHttpContext* pHttpContext, - IN_PROCESS_HANDLER* pInProcessHandler - ); + OnExecuteRequest + ( + IHttpContext* pHttpContext, + IN_PROCESS_HANDLER* pInProcessHandler + ); VOID StopCallsIntoManaged( @@ -90,10 +90,10 @@ public: } static - IN_PROCESS_APPLICATION* - GetInstance( - VOID - ) + IN_PROCESS_APPLICATION* + GetInstance( + VOID + ) { return s_Application; } @@ -143,36 +143,36 @@ private: static IN_PROCESS_APPLICATION* s_Application; VOID - SetStdOut( - VOID - ); + SetStdOut( + VOID + ); static - VOID - ExecuteAspNetCoreProcess( - _In_ LPVOID pContext - ); + VOID + ExecuteAspNetCoreProcess( + _In_ LPVOID pContext + ); static - VOID - ReadStdErrHandle - ( - _In_ LPVOID pContext - ); + VOID + ReadStdErrHandle + ( + _In_ LPVOID pContext + ); HRESULT - SetEnvironementVariablesOnWorkerProcess( - VOID - ); + SetEnvironementVariablesOnWorkerProcess( + VOID + ); static - INT - FilterException(unsigned int code, struct _EXCEPTION_POINTERS *ep); + INT + FilterException(unsigned int code, struct _EXCEPTION_POINTERS *ep); HRESULT - RunDotnetApplication( - DWORD argc, - CONST PCWSTR* argv, - hostfxr_main_fn pProc - ); + RunDotnetApplication( + DWORD argc, + CONST PCWSTR* argv, + hostfxr_main_fn pProc + ); };