good morning!!!!

Skip to content
Snippets Groups Projects
Unverified Commit e9d08816 authored by Simon Ser's avatar Simon Ser Committed by Anmol Sethi
Browse files

Use net.ErrClosed

Go 1.16 has introduced net.ErrClosed, which should be returned/wrapped when an
I/O call is performed on a network connection which has already been closed.
This is useful to avoid cluttering logs with messages like "failed to close
WebSocket: already wrote close".

Closes: https://github.com/nhooyr/websocket/issues/286
parent 4ab2f542
Branches
Tags
No related merge requests found
...@@ -119,15 +119,13 @@ func (c *Conn) closeHandshake(code StatusCode, reason string) (err error) { ...@@ -119,15 +119,13 @@ func (c *Conn) closeHandshake(code StatusCode, reason string) (err error) {
return nil return nil
} }
var errAlreadyWroteClose = errors.New("already wrote close")
func (c *Conn) writeClose(code StatusCode, reason string) error { func (c *Conn) writeClose(code StatusCode, reason string) error {
c.closeMu.Lock() c.closeMu.Lock()
wroteClose := c.wroteClose wroteClose := c.wroteClose
c.wroteClose = true c.wroteClose = true
c.closeMu.Unlock() c.closeMu.Unlock()
if wroteClose { if wroteClose {
return errAlreadyWroteClose return errClosed
} }
ce := CloseError{ ce := CloseError{
......
// +build !go1.16
package websocket
import (
"errors"
)
var errClosed = errors.New("use of closed network connection")
// +build go1.16
package websocket
import (
"net"
)
var errClosed = net.ErrClosed
  • a @elee

    mentioned in commit 64ce0099

    ·

    mentioned in commit 64ce0099

    Toggle commit list
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment