Fix leak caused by C# context pooling (when GrpcEnvironment is shutdown).#14113
Merged
mehrdada merged 1 commit intogrpc:v1.9.xfrom Jan 22, 2018
Merged
Fix leak caused by C# context pooling (when GrpcEnvironment is shutdown).#14113mehrdada merged 1 commit intogrpc:v1.9.xfrom
mehrdada merged 1 commit intogrpc:v1.9.xfrom
Conversation
This was referenced Jan 22, 2018
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #14021 in v1.9.x.
When pooling BatchContextSafeHandle and RequestCallSafeHandle objects, we make sure that the pooled object don't contain a reference to the object pool (which in turn has references to other objects created by GrpcEnvironment), because they can keep references from an already-shutdown GrpcEnviroment alive even though they should have been dead.
I verified that the fix is effective with a variation of the example from #14021 and #13941.