Official Go implementation of the Ethereum protocol
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Felix Lange
4a37ae510e
rpc: tighter shutdown synchronization in client subscription ( #22597 )
...
This fixes a rare issue where the client subscription forwarding loop
would attempt send on the subscription's channel after Unsubscribe has
returned, leading to a panic if the subscription channel was already
closed by the user. Example:
sub, _ := client.Subscribe(..., channel, ...)
sub.Unsubscribe()
close(channel)
The race occurred because Unsubscribe called quitWithServer to tell the
forwarding loop to stop sending on sub.channel, but did not wait for the
loop to actually come down. This is fixed by adding an additional channel
to track the shutdown, on which Unsubscribe now waits.
Fixes #22322
4 years ago
..
testdata
rpc: fix issue with null JSON-RPC messages ( #21497 )
4 years ago
client.go
rpc: deprecate Client.ShhSubscribe ( #22239 )
4 years ago
client_example_test.go
rpc: make ExampleClientSubscription work with the geth API ( #19483 )
5 years ago
client_test.go
rpc: tighter shutdown synchronization in client subscription ( #22597 )
4 years ago
constants_unix.go
accounts, p2p, rpc: make CGO_ENABLED=0 build again ( #19593 )
6 years ago
constants_unix_nocgo.go
accounts, p2p, rpc: make CGO_ENABLED=0 build again ( #19593 )
6 years ago
doc.go
rpc: remove 'exported or builtin' restriction for parameters ( #20332 )
5 years ago
endpoints.go
trie, rpc, cmd/geth: fix tests on 32-bit and windows + minor rpc fixes ( #21871 )
4 years ago
errors.go
internal/ethapi: return revert reason for eth_call ( #21083 )
5 years ago
handler.go
rpc: tighter shutdown synchronization in client subscription ( #22597 )
4 years ago
http.go
rpc: add SetHeader method to Client ( #21392 )
4 years ago
http_test.go
rpc: add separate size limit for websocket ( #22385 )
4 years ago
inproc.go
rpc, p2p/simulations: use github.com/gorilla/websocket ( #20289 )
5 years ago
ipc.go
rpc, p2p/simulations: use github.com/gorilla/websocket ( #20289 )
5 years ago
ipc_js.go
all: update author list and licenses
5 years ago
ipc_unix.go
rpc: implement websockets with github.com/gorilla/websocket ( #19866 )
5 years ago
ipc_windows.go
all: import "context" instead of "golang.org/x/net/context"
8 years ago
json.go
rpc: fix issue with null JSON-RPC messages ( #21497 )
4 years ago
metrics.go
rpc: metrics for JSON-RPC method calls ( #20847 )
5 years ago
server.go
all: fix typos in comments ( #21118 )
5 years ago
server_test.go
internal/ethapi: return revert reason for eth_call ( #21083 )
5 years ago
service.go
rpc: remove 'exported or builtin' restriction for parameters ( #20332 )
5 years ago
stdio.go
rpc, p2p/simulations: use github.com/gorilla/websocket ( #20289 )
5 years ago
subscription.go
rpc: tighter shutdown synchronization in client subscription ( #22597 )
4 years ago
subscription_test.go
all: fix a bunch of inconsequential goroutine leaks ( #20667 )
5 years ago
testservice_test.go
rpc: add separate size limit for websocket ( #22385 )
4 years ago
types.go
internal/ethapi: return revert reason for eth_call ( #21083 )
5 years ago
types_test.go
internal/ethapi: support block number or hash on state-related methods ( #19491 )
5 years ago
websocket.go
rpc: add separate size limit for websocket ( #22385 )
4 years ago
websocket_test.go
rpc: tighter shutdown synchronization in client subscription ( #22597 )
4 years ago