6e990f39de
If `StartWhenSynchronized` is unset in config, `node` command runs RPC service instantly. Previously there was a ground for deadlock. Command started RPC server synchronously. According to server implementation, it sends all internal failures to the parameterized error channel. Deadlock occured because main routine didn't scan the channel. Run `rpcsrv.Server.Start` in a separate go-routine in `startServer`. This prevents potential deadlock caused by writing into unread channel. Fixes #2896. Signed-off-by: Leonard Lyubich <leonard@morphbits.io> |
||
---|---|---|
.. | ||
app | ||
cmdargs | ||
flags | ||
input | ||
nep_test | ||
options | ||
paramcontext | ||
query | ||
server | ||
smartcontract | ||
testdata | ||
txctx | ||
util | ||
vm | ||
wallet | ||
.gitignore | ||
main.go |