mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-27 05:23:24 +00:00
Auto merge of #133770 - GuillaumeGomez:rollup-l62iyyx, r=GuillaumeGomez
Rollup of 10 pull requests Successful merges: - #131713 (Stabilize `const_maybe_uninit_write`) - #133535 (show forbidden_lint_groups in future-compat reports) - #133610 (Move `Const::{from_anon_const,try_from_lit}` to hir_ty_lowering) - #133701 (Use c"lit" for CStrings without unwrap) - #133704 (fix ICE when promoted has layout size overflow) - #133705 (add "profiler" and "optimized-compiler-builtins" option coverage for ci-rustc) - #133710 (Reducing `target_feature` check-cfg merge conflicts) - #133732 (Fix `-Zdump-mir-dataflow`) - #133746 (Change `AttrArgs::Eq` to a struct variant) - #133763 (Fix `f16::midpoint` const feature gate) r? `@ghost` `@rustbot` modify labels: rollup
This commit is contained in:
commit
ffa39d4692
1 changed files with 1 additions and 3 deletions
|
@ -62,15 +62,13 @@ fn memusage_linux() -> MemoryUsage {
|
|||
// mallinfo2 is very recent, so its presence needs to be detected at runtime.
|
||||
// Both are abysmally slow.
|
||||
|
||||
use std::ffi::CStr;
|
||||
use std::sync::atomic::{AtomicUsize, Ordering};
|
||||
|
||||
static MALLINFO2: AtomicUsize = AtomicUsize::new(1);
|
||||
|
||||
let mut mallinfo2 = MALLINFO2.load(Ordering::Relaxed);
|
||||
if mallinfo2 == 1 {
|
||||
let cstr = CStr::from_bytes_with_nul(b"mallinfo2\0").unwrap();
|
||||
mallinfo2 = unsafe { libc::dlsym(libc::RTLD_DEFAULT, cstr.as_ptr()) } as usize;
|
||||
mallinfo2 = unsafe { libc::dlsym(libc::RTLD_DEFAULT, c"mallinfo2".as_ptr()) } as usize;
|
||||
// NB: races don't matter here, since they'll always store the same value
|
||||
MALLINFO2.store(mallinfo2, Ordering::Relaxed);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue