Skip to content
This repository has been archived by the owner on Jun 20, 2024. It is now read-only.

Remove deadlock in sending protocol messages #428

Merged
merged 3 commits into from
Feb 27, 2015

Conversation

bboreham
Copy link
Contributor

As noted in #415, the Actor channels into LocalPeer and a Connection can get locked in a deadly embrace.

But, we don't need to use the Actor mechanism for outgoing ProtocolMsg sends; they don't need to be serialised with the state of the Connection itself, so by doing the send directly we avoid this problem.

This then opens up a related problem that the Shutdown() arising from an error when sending can get blocked on a full channel, so we move all Shutdown() operations to their own goroutines.

Closes #415. Possibly related to #411.

rade added a commit that referenced this pull request Feb 27, 2015
Remove deadlock in sending protocol messages

Closes #415.
@rade rade merged commit be3415b into weaveworks:master Feb 27, 2015
@rade rade removed the in progress label Feb 27, 2015
@rade rade modified the milestone: 0.10.0 Apr 18, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Another deadlock
2 participants