Skip to content(if available)orjump to list(if available)

Crossfire: High-performance lockless spsc/mpsc/mpmc channels for Rust

enricozb

When reading this project's wiki [0], it mentions that Kanal (another channel implementation) uses an optimization that "makes [the] async API not cancellation-safe". I wonder if this is the same / related issue to the recent HN thread on "future lock" [1]. I hadn't heard of this cancellation safety issue prior to that other HN thread.

[0]: https://github.com/frostyplanet/crossfire-rs/wiki#kanal [1]: https://news.ycombinator.com/item?id=45774086

paholg

Futurelock is not about cancellation safety (cancellation is actually one solution to futurelock), though the related issues that are linked in that post are.

AceJohnny2

Because I had to look it up:

SPSC = Single Producer Single Consumer

MPMC = Multiple Producer Multiple Consumer

(I'll let you deduce the other abbreviations)