Skip to content
Discussion options

You must be logged in to vote

This is excellent debugging, and I want to update honestly first: your data falsifies my first mechanism as the cause of YOUR freeze. The read-write effect livelock I measured is real, but you removed every consumer, every signal.set, every tracked read, and it still froze; so it is not this. What your three experiments select instead is more interesting, and your own pure-tokio test is one of the pieces of evidence.

First your direct question, because it is load-bearing: recv().await cannot hang because a sender is stuck; it parks until a message arrives or every Sender is dropped, nothing else. The hang risk in bounded mpsc lives entirely on the send side: send().await on a full channel…

Replies: 5 comments

Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
0 replies
Answer selected by dmorigin
Comment options

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants