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.
This pull request contains a rewrite of the fair readers-writers lock (frwlock). The old code had bugs (if a spurious wakeup occured from a pthread_cond_wait, the code would fail.) The old code was also complex. I tried making small changes to improve it, and it just was buggy. I reimplemented it, and ran the test-frwlock-fair-writers test, as well as benchmark-test. I also fixed a race condition by making the m_num_writers variable be an atomic integer (since the cache table queries the number of writers without acquiring the lock)