From f780842e9cd89f1f60a5c0593430f90584c9a8ed Mon Sep 17 00:00:00 2001 From: Eric Traut Date: Tue, 27 Jan 2026 00:17:34 -0800 Subject: [PATCH] Changed from strong to weak reference to prevent shutdown. --- codex-rs/core/src/codex.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/codex-rs/core/src/codex.rs b/codex-rs/core/src/codex.rs index dd6ae29a78..e3413f4f5b 100644 --- a/codex-rs/core/src/codex.rs +++ b/codex-rs/core/src/codex.rs @@ -600,7 +600,7 @@ impl Session { let mut rx = self.services.file_watcher.subscribe(); let agents_changed = Arc::clone(&self.agents_changed); let agents_watch_dirs = self.agents_watch_dirs.clone(); - let sess = Arc::clone(self); + let weak_sess = Arc::downgrade(self); tokio::spawn(async move { loop { match rx.recv().await { @@ -617,6 +617,9 @@ impl Session { } } Ok(FileWatcherEvent::SkillsChanged { .. }) => { + let Some(sess) = weak_sess.upgrade() else { + break; + }; let event = Event { id: sess.next_internal_sub_id_with_prefix("skills-update"), msg: EventMsg::SkillsUpdateAvailable,