Fix tokio blocking write in server startup error handler

This commit is contained in:
Riz Ashraf committed 2026-09-21 04:28:16 +01:00
1 parent 2ce4fa6720
commit 9ce5c84d9c
1 file changed
+3 -3
+3 -3
View File
@@ -412,13 +412,13 @@ fn run_server(state: Arc<MemoryState>) -> Result<(), Box<dyn std::error::Error>>
let addr = std::env::var("MCP_PORT").unwrap_or_else(|_| "3000".to_string()); let addr = std::env::var("MCP_PORT").unwrap_or_else(|_| "3000".to_string());
let addr: std::net::SocketAddr = format!("127.0.0.1:{}", addr).parse().unwrap(); let addr: std::net::SocketAddr = format!("127.0.0.1:{}", addr).parse().unwrap();
let listener = match tokio::net::TcpListener::bind(addr).await { let listener = match tokio::net::TcpListener::bind(&addr).await {
Ok(l) => l, Ok(l) => l,
Err(e) => { Err(e) => {
let log_path = dirs::home_dir() let log_path = dirs::home_dir()
.unwrap_or_default() .unwrap_or_default()
.join(".gemini/mcp_memory/daemon_error.log"); .join(".gemini/mcp_memory/daemon_error.log");
let _ = std::fs::write(&log_path, format!("Failed to bind to {}: {}\n", addr, e)); let _ = tokio::fs::write(&log_path, format!("Failed to bind to {}: {}\n", addr, e)).await;
return Ok(()); return Ok(());
} }
}; };
@@ -426,7 +426,7 @@ fn run_server(state: Arc<MemoryState>) -> Result<(), Box<dyn std::error::Error>>
let log_path = dirs::home_dir() let log_path = dirs::home_dir()
.unwrap_or_default() .unwrap_or_default()
.join(".gemini/mcp_memory/daemon_error.log"); .join(".gemini/mcp_memory/daemon_error.log");
let _ = std::fs::write(&log_path, format!("Server crashed: {}\n", e)); let _ = tokio::fs::write(&log_path, format!("Server crashed: {}\n", e)).await;
} }
Ok(()) Ok(())
}) })