neoneo-go/pkg/services
Roman Khimov eeeb0f6f0e core: accept two-side channels for sub/unsub, read on unsub
Blockchain's notificationDispatcher sends events to channels and these
channels must be read from. Unfortunately, regular service shutdown procedure
does unsubscription first (outside of the read loop) and only then drains the
channel. While it waits for unsubscription request to be accepted
notificationDispatcher can try pushing more data into the same channel which
will lead to a deadlock. Reading in the same method solves this, any number of
events can be pushed until unsub channel accepts the data.
2022-08-19 22:08:40 +03:00
..
helpers/rpcbroadcaster rpc/client: move to pkg/rpcclient 2022-07-21 22:39:53 +03:00
metrics metrics: don't Panic on bad shutdown 2022-08-02 13:06:10 +03:00
notary core: accept two-side channels for sub/unsub, read on unsub 2022-08-19 22:08:40 +03:00
oracle wallet: fix wallet version to conform to NEP-6 2022-08-07 22:41:40 +03:00
rpcsrv core: accept two-side channels for sub/unsub, read on unsub 2022-08-19 22:08:40 +03:00
stateroot core: accept two-side channels for sub/unsub, read on unsub 2022-08-19 22:08:40 +03:00