diff --git a/src/librustc_data_structures/jobserver.rs b/src/librustc_data_structures/jobserver.rs index c85cdfbdcd8d..48ac8125a0d6 100644 --- a/src/librustc_data_structures/jobserver.rs +++ b/src/librustc_data_structures/jobserver.rs @@ -4,7 +4,7 @@ use std::mem; #[derive(Default)] -pub struct LockedProxyData { +struct LockedProxyData { /// The number of free thread tokens, this may include the implicit token given to the process free: usize, @@ -72,12 +72,15 @@ fn new_requested_token(&mut self, token: Acquired, cond_var: &Condvar) { } #[derive(Default)] -pub struct ProxyData { +struct ProxyData { lock: Mutex, cond_var: Condvar, } -pub struct Proxy { +/// A helper type which makes managing jobserver tokens easier. +/// It also allows you to treat the implicit token given to the process +/// in the same manner as requested tokens. +struct Proxy { thread: Mutex, data: Arc, } @@ -131,11 +134,11 @@ pub fn release_thread() { } impl Proxy { - pub fn release_token(&self) { + fn release_token(&self) { self.data.lock.lock().unwrap().release_token(&self.data.cond_var); } - pub fn acquire_token(&self) { + fn acquire_token(&self) { let mut data = self.data.lock.lock().unwrap(); data.waiters += 1; if data.take_token(&self.thread) {