Skip to content

Conversation

@mkj
Copy link
Owner

@mkj mkj commented Nov 19, 2025

Channel input was inadvertently being discarded because of an incorrect refcount comparison (wrong order of operations).

This would cause data to be discarded if async progress() runs before the ChanIn has consumed data. In sunsetc this never seems to occur, maybe due to specifics how the Futures are executed by embassy_futures::select?

In work in progress SFTP's demo, incoming data seems to be intermittently discarded.

Fixes: f06f7ce ("Move channel wakers into core sunset crate")

Channel input was inadvertently being discarded because of an incorrect
refcount comparison (wrong order of operations).

This would cause data to be discarded if async progress() runs before
the ChanIn has consumed data. In sunsetc this never seems to occur,
maybe due to specifics how the Futures are executed by
embassy_futures::select?

In work in progress SFTP's demo, incoming data seems to be
intermittently discarded.

Fixes: f06f7ce ("Move channel wakers into core sunset crate")
@mkj mkj merged commit e05ffb6 into main Nov 19, 2025
6 checks passed
@mkj mkj deleted the pr/fix-discard branch November 19, 2025 15:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants