datastructures: replace lazy_static
by SyncLazy
from std
This commit is contained in:
parent
bd49eec3d7
commit
1b650d0fea
@ -3417,7 +3417,6 @@ dependencies = [
|
||||
"ena",
|
||||
"indexmap",
|
||||
"jobserver",
|
||||
"lazy_static",
|
||||
"libc",
|
||||
"measureme",
|
||||
"parking_lot 0.10.2",
|
||||
|
@ -12,7 +12,6 @@ ena = "0.14"
|
||||
indexmap = "1.5.1"
|
||||
tracing = "0.1"
|
||||
jobserver_crate = { version = "0.1.13", package = "jobserver" }
|
||||
lazy_static = "1"
|
||||
rustc_serialize = { path = "../rustc_serialize" }
|
||||
rustc_macros = { path = "../rustc_macros" }
|
||||
rustc_graphviz = { path = "../rustc_graphviz" }
|
||||
|
@ -1,7 +1,6 @@
|
||||
pub use jobserver_crate::Client;
|
||||
use lazy_static::lazy_static;
|
||||
use std::lazy::SyncLazy;
|
||||
|
||||
lazy_static! {
|
||||
// We can only call `from_env` once per process
|
||||
|
||||
// Note that this is unsafe because it may misinterpret file descriptors
|
||||
@ -19,15 +18,14 @@
|
||||
// Also note that we stick this in a global because there could be
|
||||
// multiple rustc instances in this process, and the jobserver is
|
||||
// per-process.
|
||||
static ref GLOBAL_CLIENT: Client = unsafe {
|
||||
static GLOBAL_CLIENT: SyncLazy<Client> = SyncLazy::new(|| unsafe {
|
||||
Client::from_env().unwrap_or_else(|| {
|
||||
let client = Client::new(32).expect("failed to create jobserver");
|
||||
// Acquire a token for the main thread which we can release later
|
||||
client.acquire_raw().ok();
|
||||
client
|
||||
})
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
pub fn client() -> Client {
|
||||
GLOBAL_CLIENT.clone()
|
||||
|
Loading…
Reference in New Issue
Block a user