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.
Related: #495 (comment)
This particular deadlock is a result of connection state change notifications being made whilst holding the connectiomanager lock. This PR ensures that all state changes are enacted in the CM thread without holding the lock; any transitions that previously occurred whilst in the process of making another transition are now effectively queued as further requested state changes, and dealt with the CM thread after having finished with the present transition.
@amsurana are you able please to re-test the intermittent connectivity scenario with this branch?