Merge pull request #377 from ethcore/net
beta: Check for handshake expiration before attempting replace
This commit is contained in:
commit
ac218dc502
@ -6,6 +6,8 @@ branches:
|
|||||||
- master
|
- master
|
||||||
- /^beta-.*$/
|
- /^beta-.*$/
|
||||||
- /^stable-.*$/
|
- /^stable-.*$/
|
||||||
|
- /^beta$/
|
||||||
|
- /^stable$/
|
||||||
matrix:
|
matrix:
|
||||||
fast_finish: true
|
fast_finish: true
|
||||||
include:
|
include:
|
||||||
|
@ -599,6 +599,9 @@ impl<Message> Host<Message> where Message: Send + Sync + Clone {
|
|||||||
|
|
||||||
fn start_session(&self, token: StreamToken, io: &IoContext<NetworkIoMessage<Message>>) {
|
fn start_session(&self, token: StreamToken, io: &IoContext<NetworkIoMessage<Message>>) {
|
||||||
let mut connections = self.connections.write().unwrap();
|
let mut connections = self.connections.write().unwrap();
|
||||||
|
if connections.get(token).is_none() {
|
||||||
|
return; // handshake expired
|
||||||
|
}
|
||||||
connections.replace_with(token, |c| {
|
connections.replace_with(token, |c| {
|
||||||
match Arc::try_unwrap(c).ok().unwrap().into_inner().unwrap() {
|
match Arc::try_unwrap(c).ok().unwrap().into_inner().unwrap() {
|
||||||
ConnectionEntry::Handshake(h) => {
|
ConnectionEntry::Handshake(h) => {
|
||||||
|
Loading…
Reference in New Issue
Block a user