diff options
| author | jumpnbrownweasel <49791153+jumpnbrownweasel@users.noreply.github.com> | 2022-10-17 16:15:15 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-17 18:15:15 -0500 |
| commit | 71f876295981ecf5dfb8daadc05e7e9c1c7e1cbe (patch) | |
| tree | 8ebedc0c5c72fca68c82297bc70dc9247360baa1 /src/Compilation.zig | |
| parent | ce3ffa5e1b30b3ad5fb38639c7e3036d328a598e (diff) | |
| download | zig-71f876295981ecf5dfb8daadc05e7e9c1c7e1cbe.tar.gz zig-71f876295981ecf5dfb8daadc05e7e9c1c7e1cbe.zip | |
Fix for #13163: DefaultRwLock accumulates write-waiters, eventually fails to write lock (#13180)
* Fix for: DefaultRwLock accumulates write-waiters, eventually fails to write lock #13163
* Comment out debug.print at the end of the last test.
* Code formatting
* - use equality test after lock/unlock rather than peeking into internals.
however, this is still implementation specific and only done for
DefaultRwLock.
- add num_reads maximum to ensure that reader threads stop if writer threads are
starved
- use relaxed orderings for the read atomic counter
- don't check at the end for non-zero read ops, since the reader threads may
only run once if they are starved
* More review changes
- Monotonic is sufficient for incrementing the reads counter
Diffstat (limited to 'src/Compilation.zig')
0 files changed, 0 insertions, 0 deletions
