Skip to content

Commit cb98dd7

Browse files
committed
[MERGE #3092 @leirocks] fix handle leak for recycler concurrent thread
Merge pull request #3092 from leirocks:handleleak
2 parents 3f50e98 + 0c7fe52 commit cb98dd7

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
@@ -4613,7 +4613,11 @@ Recycler::FinalizeConcurrent(bool restoreState)
46134613
}
46144614

46154615
this->threadService = nullptr;
4616-
this->concurrentThread = nullptr;
4616+
if (concurrentThread != NULL)
4617+
{
4618+
CloseHandle(concurrentThread);
4619+
this->concurrentThread = nullptr;
4620+
}
46174621
}
46184622

46194623
bool
@@ -4745,10 +4749,6 @@ Recycler::ShutdownThread()
47454749
Assert(concurrentThread != NULL || threadService->HasCallback());
47464750

47474751
FinalizeConcurrent(false);
4748-
if (concurrentThread)
4749-
{
4750-
CloseHandle(concurrentThread);
4751-
}
47524752
}
47534753
}
47544754

@@ -4760,10 +4760,6 @@ Recycler::DisableConcurrent()
47604760
Assert(concurrentThread != NULL || threadService->HasCallback());
47614761

47624762
FinalizeConcurrent(true);
4763-
if (concurrentThread)
4764-
{
4765-
CloseHandle(concurrentThread);
4766-
}
47674763
this->collectionState = CollectionStateNotCollecting;
47684764
}
47694765
}

0 commit comments

Comments
 (0)