Fix subscription deadlock#130
Conversation
without this any future created by get_block will never complete, which will hang http requests with the block api for example.
these help when logging, since we have limited number of subscription types.
was thinking that leaving the waker there might need to be fixed but apparently it causes no problems.
|
Re-running workflow after the flaky pubsub test.. Strange that it never fails locally. I suspect it happens because there are >1 threads being used but not enough time for all of them. |
|
LGTM, but shouldn't the exit_daemon be called after all futures are either complete or dropped? |
With the conformance tests for With the shutdown signal now forcing the subscription futures to complete the request will be dropped and |
This fixes the deadlock found when working on the WIP #126 code.
I saw you already refactored these subscription registries out and replaced them with oneshot channels. I think that is a good idea but didn't investigate it too deeply, as they'll handle dropping and cancelling issue better.
I'll follow up this with #126 new features on top of this.