neo-go/cli
Leonard Lyubich e29c33e449 cli/node: Fix deadlock produced by instant RPC service start
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>
2023-04-17 10:42:50 +04:00
..
app cli: move tests to subpackages 2022-10-06 09:21:26 +03:00
cmdargs *: replace interface{} with any keyword 2023-04-04 13:22:42 +03:00
flags [#2442] English Check 2022-05-04 19:48:27 +03:00
input *: bump minimum supported go version 2022-08-08 13:59:32 +03:00
nep_test services: allow multiple listen addresses for simple services 2022-12-07 11:23:01 +03:00
options services: allow multiple listen addresses for simple services 2022-12-07 11:23:01 +03:00
paramcontext context: define a constant for transaction context type 2022-09-08 14:33:04 +03:00
query services: allow multiple listen addresses for simple services 2022-12-07 11:23:01 +03:00
server cli/node: Fix deadlock produced by instant RPC service start 2023-04-17 10:42:50 +04:00
smartcontract *: replace interface{} with any keyword 2023-04-04 13:22:42 +03:00
testdata vm: add PUSHT and PUSHF opcodes 2022-12-02 10:02:33 +03:00
txctx cli: deduplicate smartcontract/wallet tx confirm/sign/save/send 2022-10-06 23:03:32 +03:00
util cli: add util ops command 2023-04-12 17:12:18 +03:00
vm Merge pull request #2941 from nspcc-dev/drop-deprecated-0.102.0 2023-04-06 10:42:26 +03:00
wallet cli: ask for NEP2 account label if not provided 2023-01-26 08:50:06 +03:00
.gitignore Better error messages (#24) 2018-02-24 10:10:45 +01:00
main.go cli: move tests to subpackages 2022-10-06 09:21:26 +03:00