Skip to content

Commit 9a21405

Browse files
nak3AlexVulaj
authored andcommitted
Do not handle network error in SetCloseHandler()
The 666c197 added an error handling in `SetCloseHandler()` and peer stops getting `CloseError` when network issue like `write: broken pipe` happens because the close handle returns the error. Hence this patch changes to skip network error handling.
1 parent 0f0acef commit 9a21405

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

conn.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1159,8 +1159,12 @@ func (c *Conn) SetCloseHandler(h func(code int, text string) error) {
11591159
h = func(code int, text string) error {
11601160
message := FormatCloseMessage(code, "")
11611161
err := c.WriteControl(CloseMessage, message, time.Now().Add(writeWait))
1162-
if err != nil && err != ErrCloseSent {
1163-
return err
1162+
if err != nil {
1163+
if _, ok := err.(net.Error); ok {
1164+
return nil
1165+
} else if err != ErrCloseSent {
1166+
return err
1167+
}
11641168
}
11651169
return nil
11661170
}

0 commit comments

Comments
 (0)