@@ -8,6 +8,7 @@ package net
8
8
9
9
import (
10
10
"context"
11
+ "errors"
11
12
"fmt"
12
13
"internal/poll"
13
14
"io"
@@ -101,7 +102,7 @@ second:
101
102
goto third
102
103
}
103
104
switch nestedErr {
104
- case errCanceled , poll . ErrNetClosing , errMissingAddress , errNoSuitableAddress ,
105
+ case errCanceled , ErrClosed , errMissingAddress , errNoSuitableAddress ,
105
106
context .DeadlineExceeded , context .Canceled :
106
107
return nil
107
108
}
@@ -436,7 +437,7 @@ second:
436
437
goto third
437
438
}
438
439
switch nestedErr {
439
- case poll . ErrNetClosing , errTimeout , poll .ErrNotPollable , os .ErrDeadlineExceeded :
440
+ case ErrClosed , errTimeout , poll .ErrNotPollable , os .ErrDeadlineExceeded :
440
441
return nil
441
442
}
442
443
return fmt .Errorf ("unexpected type on 2nd nested level: %T" , nestedErr )
@@ -478,7 +479,7 @@ second:
478
479
goto third
479
480
}
480
481
switch nestedErr {
481
- case errCanceled , poll . ErrNetClosing , errMissingAddress , errTimeout , os .ErrDeadlineExceeded , ErrWriteToConnected , io .ErrUnexpectedEOF :
482
+ case errCanceled , ErrClosed , errMissingAddress , errTimeout , os .ErrDeadlineExceeded , ErrWriteToConnected , io .ErrUnexpectedEOF :
482
483
return nil
483
484
}
484
485
return fmt .Errorf ("unexpected type on 2nd nested level: %T" , nestedErr )
@@ -508,6 +509,10 @@ func parseCloseError(nestedErr error, isShutdown bool) error {
508
509
return fmt .Errorf ("error string %q does not contain expected string %q" , nestedErr , want )
509
510
}
510
511
512
+ if ! isShutdown && ! errors .Is (nestedErr , ErrClosed ) {
513
+ return fmt .Errorf ("errors.Is(%v, errClosed) returns false, want true" , nestedErr )
514
+ }
515
+
511
516
switch err := nestedErr .(type ) {
512
517
case * OpError :
513
518
if err := err .isValid (); err != nil {
@@ -531,7 +536,7 @@ second:
531
536
goto third
532
537
}
533
538
switch nestedErr {
534
- case poll . ErrNetClosing :
539
+ case ErrClosed :
535
540
return nil
536
541
}
537
542
return fmt .Errorf ("unexpected type on 2nd nested level: %T" , nestedErr )
@@ -627,7 +632,7 @@ second:
627
632
goto third
628
633
}
629
634
switch nestedErr {
630
- case poll . ErrNetClosing , errTimeout , poll .ErrNotPollable , os .ErrDeadlineExceeded :
635
+ case ErrClosed , errTimeout , poll .ErrNotPollable , os .ErrDeadlineExceeded :
631
636
return nil
632
637
}
633
638
return fmt .Errorf ("unexpected type on 2nd nested level: %T" , nestedErr )
@@ -706,7 +711,7 @@ second:
706
711
goto third
707
712
}
708
713
switch nestedErr {
709
- case poll . ErrNetClosing :
714
+ case ErrClosed :
710
715
return nil
711
716
}
712
717
return fmt .Errorf ("unexpected type on 2nd nested level: %T" , nestedErr )
0 commit comments