[][src]Module rustc_errors::lock

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Bindings to acquire a global named lock.

This is intended to be used to synchronize multiple compiler processes to ensure that we can output complete errors without interleaving on Windows. Note that this is currently only needed for allowing only one 32-bit MSVC linker to execute at once on MSVC hosts, so this is only implemented for cfg(windows). Also note that this may not always be used on Windows, only when targeting 32-bit MSVC.

For more information about why this is necessary, see where this is called.