diff options
| author | denis <denismaximov98@gmail.com> | 2021-01-24 18:38:46 +0200 |
|---|---|---|
| committer | denis <denismaximov98@gmail.com> | 2021-01-24 18:38:46 +0200 |
| commit | b23ef332c7531b8e9bb202bd25e7f37fd157c22c (patch) | |
| tree | 2ad09a6173e8528a91c37609e00c59d9b8a0b04b /src/command_is_executing.rs | |
| parent | Merge branch 'main' into server-client (diff) | |
| download | sl0ppij-b23ef332c7531b8e9bb202bd25e7f37fd157c22c.tar.gz sl0ppij-b23ef332c7531b8e9bb202bd25e7f37fd157c22c.tar.xz sl0ppij-b23ef332c7531b8e9bb202bd25e7f37fd157c22c.zip | |
wip: restructing in progress, to prep for server-client
Diffstat (limited to 'src/command_is_executing.rs')
| -rw-r--r-- | src/command_is_executing.rs | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/src/command_is_executing.rs b/src/command_is_executing.rs deleted file mode 100644 index 93c44eb6..00000000 --- a/src/command_is_executing.rs +++ /dev/null @@ -1,53 +0,0 @@ -#![allow(clippy::mutex_atomic)] -use std::sync::{Arc, Condvar, Mutex}; - -#[derive(Clone)] -pub struct CommandIsExecuting { - opening_new_pane: Arc<(Mutex<bool>, Condvar)>, - closing_pane: Arc<(Mutex<bool>, Condvar)>, -} - -impl CommandIsExecuting { - pub fn new() -> Self { - CommandIsExecuting { - opening_new_pane: Arc::new((Mutex::new(false), Condvar::new())), - closing_pane: Arc::new((Mutex::new(false), Condvar::new())), - } - } - pub fn closing_pane(&mut self) { - let (lock, _cvar) = &*self.closing_pane; - let mut closing_pane = lock.lock().unwrap(); - *closing_pane = true; - } - pub fn done_closing_pane(&mut self) { - let (lock, cvar) = &*self.closing_pane; - let mut closing_pane = lock.lock().unwrap(); - *closing_pane = false; - cvar.notify_one(); - } - pub fn opening_new_pane(&mut self) { - let (lock, _cvar) = &*self.opening_new_pane; - let mut opening_new_pane = lock.lock().unwrap(); - *opening_new_pane = true; - } - pub fn done_opening_new_pane(&mut self) { - let (lock, cvar) = &*self.opening_new_pane; - let mut opening_new_pane = lock.lock().unwrap(); - *opening_new_pane = false; - cvar.notify_one(); - } - pub fn wait_until_pane_is_closed(&self) { - let (lock, cvar) = &*self.closing_pane; - let mut closing_pane = lock.lock().unwrap(); - while *closing_pane { - closing_pane = cvar.wait(closing_pane).unwrap(); - } - } - pub fn wait_until_new_pane_is_opened(&self) { - let (lock, cvar) = &*self.opening_new_pane; - let mut opening_new_pane = lock.lock().unwrap(); - while *opening_new_pane { - opening_new_pane = cvar.wait(opening_new_pane).unwrap(); - } - } -} |
