Skip to content

Commit

Permalink
Unrolled build for rust-lang#127270
Browse files Browse the repository at this point in the history
Rollup merge of rust-lang#127270 - klensy:PROCESS_MEMORY_COUNTERS, r=Kobzol

bootstrap: pass correct struct size to winapi

Into K32GetProcessMemoryInfo (https://learn.microsoft.com/en-us/windows/win32/api/psapi/nf-psapi-getprocessmemoryinfo) passed in pointer to PROCESS_MEMORY_COUNTERS, but size of PROCESS_MEMORY_COUNTERS_EX, whoops.
  • Loading branch information
rust-timer authored Jul 3, 2024
2 parents 1086aff + bcbcbff commit cbc9975
Showing 1 changed file with 5 additions and 12 deletions.
17 changes: 5 additions & 12 deletions src/bootstrap/src/bin/rustc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -317,9 +317,7 @@ fn format_rusage_data(child: Child) -> Option<String> {

use windows::{
Win32::Foundation::HANDLE,
Win32::System::ProcessStatus::{
K32GetProcessMemoryInfo, PROCESS_MEMORY_COUNTERS, PROCESS_MEMORY_COUNTERS_EX,
},
Win32::System::ProcessStatus::{K32GetProcessMemoryInfo, PROCESS_MEMORY_COUNTERS},
Win32::System::Threading::GetProcessTimes,
Win32::System::Time::FileTimeToSystemTime,
};
Expand All @@ -331,6 +329,7 @@ fn format_rusage_data(child: Child) -> Option<String> {
let mut kernel_filetime = Default::default();
let mut kernel_time = Default::default();
let mut memory_counters = PROCESS_MEMORY_COUNTERS::default();
let memory_counters_size = std::mem::size_of_val(&memory_counters);

unsafe {
GetProcessTimes(
Expand All @@ -347,15 +346,9 @@ fn format_rusage_data(child: Child) -> Option<String> {

// Unlike on Linux with RUSAGE_CHILDREN, this will only return memory information for the process
// with the given handle and none of that process's children.
unsafe {
K32GetProcessMemoryInfo(
handle,
&mut memory_counters,
std::mem::size_of::<PROCESS_MEMORY_COUNTERS_EX>() as u32,
)
}
.ok()
.ok()?;
unsafe { K32GetProcessMemoryInfo(handle, &mut memory_counters, memory_counters_size as u32) }
.ok()
.ok()?;

// Guide on interpreting these numbers:
// https://docs.microsoft.com/en-us/windows/win32/psapi/process-memory-usage-information
Expand Down

0 comments on commit cbc9975

Please sign in to comment.