From dbd8538762ef8968a493e1bf996e8693479ca783 Mon Sep 17 00:00:00 2001 From: Theodore Dubois Date: Sun, 28 Apr 2019 06:24:58 -0700 Subject: Split alacritty into a separate crates The crate containing the entry point is called alacritty, and the crate containing everything else is called alacritty_terminal. --- src/sync.rs | 44 -------------------------------------------- 1 file changed, 44 deletions(-) delete mode 100644 src/sync.rs (limited to 'src/sync.rs') diff --git a/src/sync.rs b/src/sync.rs deleted file mode 100644 index 0fcd0862..00000000 --- a/src/sync.rs +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2016 Joe Wilm, The Alacritty Project Contributors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Synchronization types -//! -//! Most importantly, a fair mutex is included -use parking_lot::{Mutex, MutexGuard}; - -/// 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 { - /// Data - data: Mutex, - /// Next-to-access - next: Mutex<()>, -} - -impl FairMutex { - /// Create a new fair mutex - pub fn new(data: T) -> FairMutex { - FairMutex { data: Mutex::new(data), next: Mutex::new(()) } - } - - /// 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() - let _next = self.next.lock(); - self.data.lock() - } -} -- cgit