mirror of
https://github.com/element-hq/synapse.git
synced 2026-07-24 04:12:34 +00:00
LLM summary: func only ever needs to be moved to a thread and called there sequentially, never shared by & across threads: - In the erasure, func is captured by-move into the Box<dyn Fn ... + Send> callback (only Send is required to box it that way). - The Python pool moves that callback into the runInteraction DB-thread closure and calls it there; the Rust pool calls it within a single async task. Neither sends &func to multiple threads concurrently.