Fix issues around comm and session lifecycles #6278
Merged
+24
−3
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.
This change addresses a few problems found by @DavisVaughan around session and comm lifecycles. Specifically:
dispose()
method is implemented in the language pack and does things like clean up log streamers/file handles/sockets/etc.Addresses #2908
Addresses #3964
While these changes are important for code quality and hygiene, aside from addressing some leaks, there ought to be no observable difference in behavior.
QA Notes
Since one of these issues results in errors being logged, it should be pretty easy to verify. For the other, the main risk here is that the runtime is going to get prematurely disposed -- once it's disposed we no longer get events, logs, anything (it's inert). So no heavy verification needed, but good to check start/stop/start cycles and make sure we're getting good behavior, events, and appropriate logs.