diff options
author | Jesse Luehrs <doy@tozt.net> | 2020-07-25 04:33:51 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2020-07-25 04:33:51 -0400 |
commit | 6b38682d711fb74feddcc06c4da18f8e771858df (patch) | |
tree | 52c36bba21247f0abb7062f87e3e0745dd496b4f /src/bin/rbw-agent/actions.rs | |
parent | 56e9b720bade5dcdc6505952c1bf81bdeca26bcd (diff) | |
download | rbw-6b38682d711fb74feddcc06c4da18f8e771858df.tar.gz rbw-6b38682d711fb74feddcc06c4da18f8e771858df.zip |
implement rbw unlocked
Diffstat (limited to 'src/bin/rbw-agent/actions.rs')
-rw-r--r-- | src/bin/rbw-agent/actions.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/bin/rbw-agent/actions.rs b/src/bin/rbw-agent/actions.rs index a01f510..1a5a3c5 100644 --- a/src/bin/rbw-agent/actions.rs +++ b/src/bin/rbw-agent/actions.rs @@ -357,6 +357,20 @@ pub async fn lock( Ok(()) } +pub async fn check_lock( + sock: &mut crate::sock::Sock, + state: std::sync::Arc<tokio::sync::RwLock<crate::agent::State>>, + _tty: Option<&str>, +) -> anyhow::Result<()> { + if state.read().await.needs_unlock() { + return Err(anyhow::anyhow!("agent is locked")); + } + + respond_ack(sock).await?; + + Ok(()) +} + pub async fn sync( sock: &mut crate::sock::Sock, ack: bool, |