Simplify circular buffer threadsafe #38
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull Request Template
Description
This improves the "threadsafe" version of the circular buffer code in two ways, both based on the fact that the "threadsafe" version uses the "waste one element" technique to disambiguate full vs empty:
I updated the document in the header accordingly.
That test is only needed in the "use a separate full flag to disambiguate full vs empty" version,
as explained in your documentation: https://embeddedartistry.com/blog/2017/05/17/creating-a-circular-buffer-in-c-and-c/#circularbuffercontainertype
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration.
I didn't test the changes because I could not find the unit tests. I may well have just missed them, but I doubt I could have run them anyway because...
My attempt to build the package failed in ways that do not appear to have anything to do with my changes.
I am hoping somebody else will be willing to try to build it.
(We are using a bit of the source code, but not the build system.)
Here is a log:
Checklist: