aboutsummaryrefslogtreecommitdiffstats
path: root/src/command_is_executing.rs
diff options
context:
space:
mode:
authordenis <denismaximov98@gmail.com>2021-01-24 18:38:46 +0200
committerdenis <denismaximov98@gmail.com>2021-01-24 18:38:46 +0200
commitb23ef332c7531b8e9bb202bd25e7f37fd157c22c (patch)
tree2ad09a6173e8528a91c37609e00c59d9b8a0b04b /src/command_is_executing.rs
parentMerge branch 'main' into server-client (diff)
downloadsl0ppij-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.rs53
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();
- }
- }
-}