diff --git a/contrib/codecs/websocket/client.go b/contrib/codecs/websocket/client.go index 7aa5321889b9d3554147b2e1d3eae3ceabe5395f..4847adaaef167bd61b8120fdc94b12f31afb0e7c 100644 --- a/contrib/codecs/websocket/client.go +++ b/contrib/codecs/websocket/client.go @@ -29,8 +29,11 @@ func newClient(conn *websocket.Conn) (*Client, error) { } func (c *Client) Close() error { + if err := c.Client.Close(); err != nil { + return err + } if err := c.conn.Close(websocket.StatusNormalClosure, ""); err != nil { return err } - return c.Client.Close() + return nil } diff --git a/contrib/extension/subscription/client_test.go b/contrib/extension/subscription/client_test.go index b63d6e2fbf5ca5a9380927adbfb69cd622dedbc8..23505061ff56737f5c3e73a2bdfc717f9c8b0917 100644 --- a/contrib/extension/subscription/client_test.go +++ b/contrib/extension/subscription/client_test.go @@ -173,7 +173,7 @@ func TestCloseClient(t *testing.T) { } go func() { - if err := cl.Close(); err != nil { + if err = cl.Close(); err != nil { t.Error(err) } }() diff --git a/pkg/clientutil/idreply.go b/pkg/clientutil/idreply.go index 1ff7ecaaadf1b5d62986fa137697f8cb9e504096..167ce521046d656894ffcae672c926ddd5ab8cc0 100644 --- a/pkg/clientutil/idreply.go +++ b/pkg/clientutil/idreply.go @@ -13,8 +13,8 @@ import ( type IdReply struct { id atomic.Int64 - amClosed atomic.Bool - closed chan struct{} + close atomic.Bool + closed chan struct{} chs map[string]chan msgOrError mu sync.Mutex @@ -109,7 +109,7 @@ func (i *IdReply) Closed() <-chan struct{} { } func (i *IdReply) Close() error { - if i.amClosed.Swap(true) { + if i.close.Swap(true) { return net.ErrClosed } close(i.closed) diff --git a/pkg/jrpctest/suites.go b/pkg/jrpctest/suites.go index c92e6a0448a8e6619c5383037ef192b2c9a97c21..b175b6fad3cd050371762f4bb25a6ee31506463e 100644 --- a/pkg/jrpctest/suites.go +++ b/pkg/jrpctest/suites.go @@ -3,9 +3,7 @@ package jrpctest import ( "context" "embed" - "errors" "math/rand" - "net" "reflect" "sync" "testing" @@ -190,16 +188,6 @@ func RunBasicTestSuite(t *testing.T, args BasicTestSuiteArgs) { wg.Wait() }) - makeTest("close", func(t *testing.T, server *server.Server, client jsonrpc.Conn) { - go func() { - _ = client.Close() - }() - err := jsonrpc.CallInto(context.Background(), client, nil, "test_block") - if !errors.Is(err, net.ErrClosed) { - t.Errorf("expected close error but got %v", err) - } - }) - makeTest("", func(t *testing.T, server *server.Server, client jsonrpc.Conn) { }) }