neo-go/cli/server
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
..
testdata cli: move tests to subpackages 2022-10-06 09:21:26 +03:00
cli_dump_test.go docs: fix supported database types 2022-10-07 15:56:34 +03:00
cli_server_test.go docs: fix supported database types 2022-10-07 15:56:34 +03:00
dump.go storage: move Operation into package of its own 2022-07-08 23:30:30 +03:00
dump_test.go *: fix tests failing due to path.Join usage 2021-11-29 11:11:09 +03:00
server.go cli/node: Fix deadlock produced by instant RPC service start 2023-04-17 10:42:50 +04:00
server_test.go network: allow multiple bind addresses for server 2022-12-07 13:06:03 +03:00
signals_unix.go *: bump minimum supported go version 2022-08-08 13:59:32 +03:00
signals_windows.go *: bump minimum supported go version 2022-08-08 13:59:32 +03:00