diff --git a/src/yggdrasil/conn.go b/src/yggdrasil/conn.go index 0a0fc83d..4daf6a4a 100644 --- a/src/yggdrasil/conn.go +++ b/src/yggdrasil/conn.go @@ -292,6 +292,9 @@ func (c *Conn) writeNoCopy(msg FlowKeyMessage) error { var cancel util.Cancellation var doCancel bool phony.Block(c, func() { cancel, doCancel = c._getDeadlineCancellation(c.writeDeadline) }) + if doCancel { + defer cancel.Cancel(nil) + } var err error select { case <-cancel.Finished():