diff --git a/conn.go b/conn.go index 8ce19d1..1800e21 100644 --- a/conn.go +++ b/conn.go @@ -173,8 +173,9 @@ func (c *Conn) close(cause error) error { return ErrClosed } - for _, call := range c.pending { + for id, call := range c.pending { close(call.done) + delete(c.pending, id) } if cause != nil && cause != io.EOF && cause != io.ErrUnexpectedEOF {