good morning!!!!

Skip to content
Snippets Groups Projects
Unverified Commit 64ce0099 authored by Anmol Sethi's avatar Anmol Sethi
Browse files

conn: Return net.ErrClosed whenever appropriate

Updates e9d08816
parent 591ff8e5
Branches
Tags
No related merge requests found
......@@ -125,7 +125,7 @@ func (c *Conn) closeHandshake(code StatusCode, reason string) (err error) {
return writeErr
}
if CloseStatus(closeHandshakeErr) == -1 {
if CloseStatus(closeHandshakeErr) == -1 && !errors.Is(errClosed, closeHandshakeErr) {
return closeHandshakeErr
}
......
......@@ -228,7 +228,7 @@ func (c *Conn) ping(ctx context.Context, p string) error {
select {
case <-c.closed:
return c.closeErr
return errClosed
case <-ctx.Done():
err := fmt.Errorf("failed to wait for pong: %w", ctx.Err())
c.close(err)
......@@ -266,7 +266,7 @@ func (m *mu) tryLock() bool {
func (m *mu) lock(ctx context.Context) error {
select {
case <-m.c.closed:
return m.c.closeErr
return errClosed
case <-ctx.Done():
err := fmt.Errorf("failed to acquire lock: %w", ctx.Err())
m.c.close(err)
......@@ -279,7 +279,7 @@ func (m *mu) lock(ctx context.Context) error {
case <-m.c.closed:
// Make sure to release.
m.unlock()
return m.c.closeErr
return errClosed
default:
}
return nil
......
......@@ -4,5 +4,5 @@ cd -- "$(dirname "$0")"
./ci/fmt.sh
./ci/lint.sh
./ci/test.sh
./ci/test.sh "$@"
./ci/bench.sh
......@@ -203,7 +203,7 @@ func (c *Conn) readLoop(ctx context.Context) (header, error) {
func (c *Conn) readFrameHeader(ctx context.Context) (header, error) {
select {
case <-c.closed:
return header{}, c.closeErr
return header{}, errClosed
case c.readTimeout <- ctx:
}
......@@ -211,7 +211,7 @@ func (c *Conn) readFrameHeader(ctx context.Context) (header, error) {
if err != nil {
select {
case <-c.closed:
return header{}, c.closeErr
return header{}, errClosed
case <-ctx.Done():
return header{}, ctx.Err()
default:
......@@ -222,7 +222,7 @@ func (c *Conn) readFrameHeader(ctx context.Context) (header, error) {
select {
case <-c.closed:
return header{}, c.closeErr
return header{}, errClosed
case c.readTimeout <- context.Background():
}
......@@ -232,7 +232,7 @@ func (c *Conn) readFrameHeader(ctx context.Context) (header, error) {
func (c *Conn) readFramePayload(ctx context.Context, p []byte) (int, error) {
select {
case <-c.closed:
return 0, c.closeErr
return 0, errClosed
case c.readTimeout <- ctx:
}
......@@ -240,7 +240,7 @@ func (c *Conn) readFramePayload(ctx context.Context, p []byte) (int, error) {
if err != nil {
select {
case <-c.closed:
return n, c.closeErr
return n, errClosed
case <-ctx.Done():
return n, ctx.Err()
default:
......@@ -252,7 +252,7 @@ func (c *Conn) readFramePayload(ctx context.Context, p []byte) (int, error) {
select {
case <-c.closed:
return n, c.closeErr
return n, errClosed
case c.readTimeout <- context.Background():
}
......
......@@ -262,14 +262,14 @@ func (c *Conn) writeFrame(ctx context.Context, fin bool, flate bool, opcode opco
case <-ctx.Done():
return 0, ctx.Err()
case <-c.closed:
return 0, c.closeErr
return 0, errClosed
}
}
defer c.writeFrameMu.unlock()
select {
case <-c.closed:
return 0, c.closeErr
return 0, errClosed
case c.writeTimeout <- ctx:
}
......@@ -277,7 +277,7 @@ func (c *Conn) writeFrame(ctx context.Context, fin bool, flate bool, opcode opco
if err != nil {
select {
case <-c.closed:
err = c.closeErr
err = errClosed
case <-ctx.Done():
err = ctx.Err()
}
......@@ -323,7 +323,7 @@ func (c *Conn) writeFrame(ctx context.Context, fin bool, flate bool, opcode opco
select {
case <-c.closed:
return n, c.closeErr
return n, errClosed
case c.writeTimeout <- context.Background():
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment