aboutsummaryrefslogtreecommitdiffstats
path: root/src/bin/rbw-agent/actions.rs
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2020-07-25 04:33:51 -0400
committerJesse Luehrs <doy@tozt.net>2020-07-25 04:33:51 -0400
commit6b38682d711fb74feddcc06c4da18f8e771858df (patch)
tree52c36bba21247f0abb7062f87e3e0745dd496b4f /src/bin/rbw-agent/actions.rs
parent56e9b720bade5dcdc6505952c1bf81bdeca26bcd (diff)
downloadrbw-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.rs14
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,