From cff9efde748b6027fe9f135ddd5aaf8a3276601d Mon Sep 17 00:00:00 2001 From: John Kåre Alsaker Date: Tue, 22 Apr 2025 07:02:27 +0200 Subject: Add a jobserver proxy to ensure at least one token is always held --- compiler/rustc_query_impl/src/plumbing.rs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'compiler/rustc_query_impl/src') diff --git a/compiler/rustc_query_impl/src/plumbing.rs b/compiler/rustc_query_impl/src/plumbing.rs index 19ccc5587d6..ea37dc5489b 100644 --- a/compiler/rustc_query_impl/src/plumbing.rs +++ b/compiler/rustc_query_impl/src/plumbing.rs @@ -4,6 +4,7 @@ use std::num::NonZero; +use rustc_data_structures::jobserver::Proxy; use rustc_data_structures::stable_hasher::{HashStable, StableHasher}; use rustc_data_structures::sync::{DynSend, DynSync}; use rustc_data_structures::unord::UnordMap; @@ -69,6 +70,11 @@ impl<'tcx> HasDepContext for QueryCtxt<'tcx> { impl<'tcx> QueryContext for QueryCtxt<'tcx> { type QueryInfo = QueryStackDeferred<'tcx>; + #[inline] + fn jobserver_proxy(&self) -> &Proxy { + &*self.jobserver_proxy + } + #[inline] fn next_job_id(self) -> QueryJobId { QueryJobId( -- cgit 1.4.1-3-g733a5