diff options
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, |