1
1
use std:: sync:: { Arc , Condvar , Mutex } ;
2
2
3
- use jobserver:: HelperThread ;
3
+ use rustc_data_structures :: jobserver:: { self , HelperThread } ;
4
4
use rustc_errors:: DiagCtxtHandle ;
5
- use rustc_session:: Session ;
6
5
7
6
// FIXME don't panic when a worker thread panics
8
7
@@ -14,14 +13,13 @@ pub(super) struct ConcurrencyLimiter {
14
13
}
15
14
16
15
impl ConcurrencyLimiter {
17
- pub ( super ) fn new ( sess : & Session , pending_jobs : usize ) -> Self {
16
+ pub ( super ) fn new ( pending_jobs : usize ) -> Self {
18
17
let state = Arc :: new ( Mutex :: new ( state:: ConcurrencyLimiterState :: new ( pending_jobs) ) ) ;
19
18
let available_token_condvar = Arc :: new ( Condvar :: new ( ) ) ;
20
19
21
20
let state_helper = state. clone ( ) ;
22
21
let available_token_condvar_helper = available_token_condvar. clone ( ) ;
23
- let helper_thread = sess
24
- . jobserver
22
+ let helper_thread = jobserver:: client ( )
25
23
. clone ( )
26
24
. into_helper_thread ( move |token| {
27
25
let mut state = state_helper. lock ( ) . unwrap ( ) ;
@@ -113,7 +111,7 @@ impl Drop for ConcurrencyLimiterToken {
113
111
}
114
112
115
113
mod state {
116
- use jobserver:: Acquired ;
114
+ use rustc_data_structures :: jobserver:: Acquired ;
117
115
118
116
#[ derive( Debug ) ]
119
117
pub ( super ) struct ConcurrencyLimiterState {
0 commit comments