agent: switch from tokio::sync::Mutex to std::sync::Mutex
The agent lock is never held across await points — turns lock briefly, do work, drop, then do async API calls. std::sync::Mutex works and can be locked from sync contexts (screen tick inside terminal.draw). Fixes: blocking_lock() panic when called inside tokio runtime. Co-Authored-By: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
f29b4be09c
commit
3e1be4d353
8 changed files with 41 additions and 39 deletions
|
|
@ -621,7 +621,7 @@ pub async fn collect_stream(
|
|||
rx: &mut mpsc::UnboundedReceiver<StreamEvent>,
|
||||
ui_tx: &UiSender,
|
||||
target: StreamTarget,
|
||||
agent: &std::sync::Arc<tokio::sync::Mutex<super::Agent>>,
|
||||
agent: &std::sync::Arc<std::sync::Mutex<super::Agent>>,
|
||||
active_tools: &crate::user::ui_channel::SharedActiveTools,
|
||||
) -> StreamResult {
|
||||
let mut content = String::new();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue