diff options
Diffstat (limited to 'alacritty_terminal/src/sync.rs')
-rw-r--r-- | alacritty_terminal/src/sync.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/alacritty_terminal/src/sync.rs b/alacritty_terminal/src/sync.rs index 0fcd0862..43ca483f 100644 --- a/alacritty_terminal/src/sync.rs +++ b/alacritty_terminal/src/sync.rs @@ -12,32 +12,32 @@ // See the License for the specific language governing permissions and // limitations under the License. -//! Synchronization types +//! Synchronization types. //! -//! Most importantly, a fair mutex is included +//! Most importantly, a fair mutex is included. use parking_lot::{Mutex, MutexGuard}; -/// A fair mutex +/// A fair mutex. /// /// Uses an extra lock to ensure that if one thread is waiting that it will get /// the lock before a single thread can re-lock it. pub struct FairMutex<T> { - /// Data + /// Data. data: Mutex<T>, - /// Next-to-access + /// Next-to-access. next: Mutex<()>, } impl<T> FairMutex<T> { - /// Create a new fair mutex + /// Create a new fair mutex. pub fn new(data: T) -> FairMutex<T> { FairMutex { data: Mutex::new(data), next: Mutex::new(()) } } - /// Lock the mutex + /// Lock the mutex. pub fn lock(&self) -> MutexGuard<'_, T> { // Must bind to a temporary or the lock will be freed before going - // into data.lock() + // into data.lock(). let _next = self.next.lock(); self.data.lock() } |