diff --git a/nvim-core/src/lib.rs b/nvim-core/src/lib.rs index 8db0b1a..19e6dad 100644 --- a/nvim-core/src/lib.rs +++ b/nvim-core/src/lib.rs @@ -126,10 +126,12 @@ pub struct NvimRequest { static NVIM_CONN: LazyLock>>>> = LazyLock::new(|| Arc::new(Mutex::new(None))); async fn get_nvim_connection() -> Result, String> { - let mut conn_lock = NVIM_CONN.lock().await; - if let Some(sender) = conn_lock.as_ref() { - if !sender.is_closed() { - return Ok(sender.clone()); + { + let conn_lock = NVIM_CONN.lock().await; + if let Some(sender) = conn_lock.as_ref() { + if !sender.is_closed() { + return Ok(sender.clone()); + } } } @@ -228,6 +230,7 @@ async fn get_nvim_connection() -> Result, String> { } }); + let mut conn_lock = NVIM_CONN.lock().await; *conn_lock = Some(tx.clone()); Ok(tx) } diff --git a/server/src/main.rs b/server/src/main.rs index b9c5386..2875c2a 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -249,7 +249,8 @@ fn run_server(state: Arc) -> Result<(), Box> post( |headers: axum::http::HeaderMap, State(state): State>| async move { let token_path = state.handler.state.base_dir.join("admin.token"); - let expected_token = std::fs::read_to_string(&token_path) + let expected_token = tokio::fs::read_to_string(&token_path) + .await .unwrap_or_default() .trim() .to_string();