diff --git a/session.go b/session.go index 2537450..4da9327 100644 --- a/session.go +++ b/session.go @@ -104,6 +104,11 @@ func (s *Session) Close() error { case <-s.die: return errors.New(errBrokenPipe) default: + s.streamLock.Lock() + for k := range s.streams { + s.streams[k].sessionClose() + } + s.streamLock.Unlock() s.conn.Close() close(s.die) s.bucketCond.Signal()