From be15337d533d9cc8338c731b4af2788de8e23791 Mon Sep 17 00:00:00 2001 From: Stephen Toub Date: Mon, 16 Oct 2017 17:36:09 -0400 Subject: [PATCH] Address PR feedback --- src/vm/comthreadpool.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/vm/comthreadpool.cpp b/src/vm/comthreadpool.cpp index 08c056b..6ab6b60 100644 --- a/src/vm/comthreadpool.cpp +++ b/src/vm/comthreadpool.cpp @@ -867,14 +867,10 @@ HANDLE QCALLTYPE AppDomainTimerNative::CreateAppDomainTimer(INT32 dueTime, INT32 AppDomain* pAppDomain = GetThread()->GetDomain(); ADID adid = pAppDomain->GetId(); - ThreadpoolMgr::TimerInfoContext* timerContext = new (nothrow) ThreadpoolMgr::TimerInfoContext(); - if (timerContext == NULL) - { - COMPlusThrowOM(); - } - + ThreadpoolMgr::TimerInfoContext* timerContext = new ThreadpoolMgr::TimerInfoContext(); timerContext->AppDomainId = adid; timerContext->TimerId = timerId; + NewHolder timerContextHolder(timerContext); BOOL res = ThreadpoolMgr::CreateTimerQueueTimer( &hTimer, @@ -886,13 +882,15 @@ HANDLE QCALLTYPE AppDomainTimerNative::CreateAppDomainTimer(INT32 dueTime, INT32 if (!res) { - delete timerContext; - if (GetLastError() == ERROR_CALL_NOT_IMPLEMENTED) COMPlusThrow(kNotSupportedException); else COMPlusThrowWin32(); } + else + { + timerContextHolder.SuppressRelease(); + } END_QCALL; return hTimer; -- 2.7.4