terminal/.github/actions/spell-check
Leonard Hecker b62f5ea850
Added til::spsc, a lock-free, single-producer/-consumer FIFO queue (#6751)
## Summary of the Pull Request

This PR adds the `til::spsc` namespace, which implements a lock-free, single-producer, single-consumer FIFO queue ("channel"). The queue efficiently blocks the caller using Futexes if no data can be written to / read from the queue (e.g. using `WaitOnAddress` on Windows). Furthermore it allows batching of data and contains logic to signal the caller if the other side has been dropped/destructed.

## PR Checklist
* [ ] Closes #xxx
* [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA
* [x] Tests added/passed
* [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx
* [ ] Schema updated.
* [x] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

## Detailed Description of the Pull Request / Additional comments

`til::spsc::details::arc<T>` contains most of the queue's logic and as such has the relevant documentation for its design.

## Validation Steps Performed

The queue was tested on Windows, Linux and macOS using MSVC, gcc and llvm and each of their available runtime introspection utilities in order to ensure no race conditions or memory leaks occur.
2020-07-16 20:49:06 +00:00
..
dictionary Added til::spsc, a lock-free, single-producer/-consumer FIFO queue (#6751) 2020-07-16 20:49:06 +00:00
expect Add High Contrast image assets (#6915) 2020-07-14 14:45:30 -07:00
patterns Add support for OSC 52 (copy-to-clipboard) (#5823) 2020-06-30 01:55:40 +00:00
advice.txt ci: spelling: update to 0.0.16a; update advice (#5922) 2020-05-28 08:01:52 -05:00
excludes.txt ci: spelling: update to 0.0.16a; update advice (#5922) 2020-05-28 08:01:52 -05:00