From 459f56973cbee1bc41198fa9a85253d2ddd6c83c Mon Sep 17 00:00:00 2001 From: Benjamin Saunders Date: Thu, 15 Jul 2021 18:39:15 -0700 Subject: [PATCH] Ensure Connecting::handshake_data completes on connection errors --- quinn/src/connection.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/quinn/src/connection.rs b/quinn/src/connection.rs index 08baf197d..d70c8a346 100644 --- a/quinn/src/connection.rs +++ b/quinn/src/connection.rs @@ -997,6 +997,9 @@ where /// Used to wake up all blocked futures when the connection becomes closed for any reason fn terminate(&mut self, reason: ConnectionError) { self.error = Some(reason.clone()); + if let Some(x) = self.on_handshake_data.take() { + let _ = x.send(()); + } for (_, writer) in self.blocked_writers.drain() { writer.wake() }