Realtime safe, waitfree, concurrency library
1# Simple left right 2 3Simpler Version of [left-right](https://crates.io/crates/left-right), which only allows one reader. 4Also allows real-time safe read operations and is designed for this use-case. 5 6## Testing 7This library is tested both with miri and cargo-mutants. Some tests are disabled for miri as they 8leak memory or block on unlucky thread scheduling. They can be run by ignoring leaks or choosing a 9threading seed that doesn't lock itself. 10 11cargo-mutants currently has one mutation that isn't caught by the tests, because it changes a bitwise 12operation to one that has the same result on the possible inputs. It also produces a couple of timeouts, 13as the write locking spins forever. 14 15PRs should keep this state as much as possible. 16 17## std::mem::forget 18Forgetting a Read/Write guard could lead to UB, so i detect that and panic if it happens. In order to make 19the detection cheap it doesn't differentiate between cases where a forget would lead to UB and cases where 20it doesn't. Just don't forget the guards and it won't panic. 21 22## Git 23This project is hosted on [tangled](https://tangled.org/did:plc:54jgbo4psy24qu2bk4njtpc4/simple-left-right/), 24[github](https://github.com/luca3s/simple-left-right) and [codeberg](https://codeberg.org/increasing/simple-left-right). 25You can create issues and PRs on any platform you like.