Skip to main content

Concurrency and Deadlocks

When working with shared state in TeaQL Rust, particularly inside runtime extensions or custom providers, you may use std::sync::RwLock or tokio::sync::RwLock.

Deadlock Prevention

Always be mindful of holding locks across .await points. The Rust compiler might warn you if a lock is not Send, but it won't catch logical deadlocks where two async tasks wait on each other. Use tokio-console to identify suspended tasks.