Skip to content

Commit 997ac77

Browse files
committed
imapclient: treat io.ErrClosedPipe as net.ErrClosed
For compatibility with net.Pipe, used by Dovecot tests.
1 parent 5153c18 commit 997ac77

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

imapclient/client.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@ func (c *Client) Close() error {
368368
c.mutex.Unlock()
369369

370370
// Ignore net.ErrClosed here, because we also call conn.Close in c.read
371-
if err := c.conn.Close(); err != nil && !errors.Is(err, net.ErrClosed) {
371+
if err := c.conn.Close(); err != nil && !errors.Is(err, net.ErrClosed) && !errors.Is(err, io.ErrClosedPipe) {
372372
return err
373373
}
374374

@@ -574,7 +574,7 @@ func (c *Client) read() {
574574
c.setReadTimeout(idleReadTimeout)
575575
for {
576576
// Ignore net.ErrClosed here, because we also call conn.Close in c.Close
577-
if c.dec.EOF() || errors.Is(c.dec.Err(), net.ErrClosed) {
577+
if c.dec.EOF() || errors.Is(c.dec.Err(), net.ErrClosed) || errors.Is(c.dec.Err(), io.ErrClosedPipe) {
578578
break
579579
}
580580
if err := c.readResponse(); err != nil {

0 commit comments

Comments
 (0)