-
Notifications
You must be signed in to change notification settings - Fork 61
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add a lock to protect the application quarantine and use it to synchronize access to the application quarantine. To avoid holding the lock for the duration of a flush, move the contents of the application quarantine to a local quarantine variable on the stack under the lock resetting the application quarantine to empty and then pass that local quarantine to an internal revocation routine. Make allocated_space _Atomic. There are some reads that can be racy still:(e.g. when deciding whether to revoke), but the races are harmless. Always use atomics to update the linked list of free descriptor slabs, not just for the offload case.
- Loading branch information
Showing
1 changed file
with
69 additions
and
51 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters