From 2b55da68ae45ff45cba68672cdbc24342cf115f6 Mon Sep 17 00:00:00 2001 From: Chris Friesen Date: Wed, 24 May 2017 11:30:30 -0600 Subject: Add support for fair locks This adds support for a "fair" variant of the lock. When there are multiple entities within a single process that are blocked waiting for the lock the fair lock will ensure that they acquire the lock in FIFO order. For now at least, when fair locks are in use we don't support the "semaphores" argument. If external locks are enabled, the inter-process ordering will be determined by the underlying OS lock ordering and process scheduling. Change-Id: I37577becff4978bf643c65fa9bc2d78d342ea35a --- .../notes/add-option-for-fair-locks-b6d660e97683cec6.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 releasenotes/notes/add-option-for-fair-locks-b6d660e97683cec6.yaml (limited to 'releasenotes') diff --git a/releasenotes/notes/add-option-for-fair-locks-b6d660e97683cec6.yaml b/releasenotes/notes/add-option-for-fair-locks-b6d660e97683cec6.yaml new file mode 100644 index 0000000..ad1cd4b --- /dev/null +++ b/releasenotes/notes/add-option-for-fair-locks-b6d660e97683cec6.yaml @@ -0,0 +1,15 @@ +--- +prelude: > + This release includes optional support for fair locks. When fair locks + are specified, blocking waiters will acquire the lock in the order that + they blocked. +features: + - | + We now have optional support for ``fair`` locks. When fair locks are + specified, blocking waiters will acquire the lock in the order that they + blocked. This can be useful to ensure that existing blocked waiters do + not wait indefinitely in the face of large numbers of new attempts to + acquire the lock. When specifying locks as both ``external`` and ``fair``, + the ordering *within* a given process will be fair, but the ordering + *between* processes will be determined by the behaviour of the underlying + OS. -- cgit v1.2.1