Skip to content

Commit 9ee3ba3

Browse files
committed
[1.6>master] [1.5>1.6] [1.4>1.5] [MERGE #3092 @leirocks] fix handle leak for recycler concurrent thread
Merge pull request #3092 from leirocks:handleleak
2 parents ac5d66e + dd8684f commit 9ee3ba3

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

lib/Common/Memory/Recycler.cpp

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4858,7 +4858,11 @@ Recycler::FinalizeConcurrent(bool restoreState)
48584858
}
48594859

48604860
this->threadService = nullptr;
4861-
this->concurrentThread = nullptr;
4861+
if (concurrentThread != NULL)
4862+
{
4863+
CloseHandle(concurrentThread);
4864+
this->concurrentThread = nullptr;
4865+
}
48624866
}
48634867

48644868
bool
@@ -4990,10 +4994,6 @@ Recycler::ShutdownThread()
49904994
Assert(concurrentThread != NULL || threadService->HasCallback());
49914995

49924996
FinalizeConcurrent(false);
4993-
if (concurrentThread)
4994-
{
4995-
CloseHandle(concurrentThread);
4996-
}
49974997
}
49984998
}
49994999

@@ -5005,10 +5005,6 @@ Recycler::DisableConcurrent()
50055005
Assert(concurrentThread != NULL || threadService->HasCallback());
50065006

50075007
FinalizeConcurrent(true);
5008-
if (concurrentThread)
5009-
{
5010-
CloseHandle(concurrentThread);
5011-
}
50125008
this->collectionState = CollectionStateNotCollecting;
50135009
}
50145010
}

0 commit comments

Comments
 (0)