aboutsummaryrefslogtreecommitdiffstats
path: root/src/bin/rbw-agent/actions.rs
diff options
context:
space:
mode:
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,