This commit is contained in:
alexsong-oai
2026-02-26 14:50:55 -08:00
parent a134d0b516
commit 22457495e2
2 changed files with 12 additions and 11 deletions

View File

@@ -186,6 +186,7 @@ use codex_arg0::Arg0DispatchPaths;
use codex_backend_client::Client as BackendClient;
use codex_chatgpt::connectors;
use codex_cloud_requirements::cloud_requirements_loader;
use codex_cloud_requirements::stop_cloud_requirements_refresher;
use codex_core::AuthManager;
use codex_core::CodexAuth;
use codex_core::CodexThread;
@@ -1451,17 +1452,7 @@ impl CodexMessageProcessor {
data: None,
});
}
replace_cloud_requirements_loader(
self.cloud_requirements.as_ref(),
self.auth_manager.clone(),
self.config.chatgpt_base_url.clone(),
self.config.codex_home.clone(),
);
sync_default_client_residency_requirement(
&self.cli_overrides,
self.cloud_requirements.as_ref(),
)
.await;
stop_cloud_requirements_refresher();
// Reflect the current auth method after logout (likely None).
Ok(self

View File

@@ -55,6 +55,16 @@ fn refresher_task_slot() -> &'static Mutex<Option<JoinHandle<()>>> {
REFRESHER_TASK.get_or_init(|| Mutex::new(None))
}
pub fn stop_cloud_requirements_refresher() {
let mut refresher_guard = refresher_task_slot().lock().unwrap_or_else(|err| {
tracing::warn!("cloud requirements refresher task slot was poisoned");
err.into_inner()
});
if let Some(existing_task) = refresher_guard.take() {
existing_task.abort();
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
enum FetchCloudRequirementsStatus {
BackendClientInit,