diff --git a/rpc/client.go b/rpc/client.go index 02029dc8f61af4289d6c2fb612a98f2d93350a10..16511747fa0e4c3ba025f6bbde76514ad365e087 100644 --- a/rpc/client.go +++ b/rpc/client.go @@ -137,9 +137,11 @@ func (op *requestOp) wait(ctx context.Context, c *Client) (*jsonrpcMessage, erro select { case <-ctx.Done(): // Send the timeout to dispatch so it can remove the request IDs. - select { - case c.reqTimeout <- op: - case <-c.closing: + if !c.isHTTP { + select { + case c.reqTimeout <- op: + case <-c.closing: + } } return nil, ctx.Err() case resp := <-op.resp: