Don't null out WorkspaceRegistration in Dispose() #49048
Closed
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.
We had a mutable field that was marked as not-nullable, but was nulled out as a part of Dispose(). If a buffer is disconnected from a workspace on a background thread, we raise the event on the background thread which could race with the unsubscribe: we'd null it out, the event fires and then we null ref.
My fix is just to not null this out. There's zero value to nulling this out, and as we see trying to violate safety protections can only cause problems.