Rollup merge of #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.
This commit is contained in:
commit
b212cd054e
@ -317,9 +317,7 @@ fn format_rusage_data(child: Child) -> Option<String> {
|
|||||||
|
|
||||||
use windows::{
|
use windows::{
|
||||||
Win32::Foundation::HANDLE,
|
Win32::Foundation::HANDLE,
|
||||||
Win32::System::ProcessStatus::{
|
Win32::System::ProcessStatus::{K32GetProcessMemoryInfo, PROCESS_MEMORY_COUNTERS},
|
||||||
K32GetProcessMemoryInfo, PROCESS_MEMORY_COUNTERS, PROCESS_MEMORY_COUNTERS_EX,
|
|
||||||
},
|
|
||||||
Win32::System::Threading::GetProcessTimes,
|
Win32::System::Threading::GetProcessTimes,
|
||||||
Win32::System::Time::FileTimeToSystemTime,
|
Win32::System::Time::FileTimeToSystemTime,
|
||||||
};
|
};
|
||||||
@ -331,6 +329,7 @@ fn format_rusage_data(child: Child) -> Option<String> {
|
|||||||
let mut kernel_filetime = Default::default();
|
let mut kernel_filetime = Default::default();
|
||||||
let mut kernel_time = Default::default();
|
let mut kernel_time = Default::default();
|
||||||
let mut memory_counters = PROCESS_MEMORY_COUNTERS::default();
|
let mut memory_counters = PROCESS_MEMORY_COUNTERS::default();
|
||||||
|
let memory_counters_size = std::mem::size_of_val(&memory_counters);
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
GetProcessTimes(
|
GetProcessTimes(
|
||||||
@ -347,13 +346,7 @@ fn format_rusage_data(child: Child) -> Option<String> {
|
|||||||
|
|
||||||
// Unlike on Linux with RUSAGE_CHILDREN, this will only return memory information for the process
|
// 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.
|
// with the given handle and none of that process's children.
|
||||||
unsafe {
|
unsafe { K32GetProcessMemoryInfo(handle, &mut memory_counters, memory_counters_size as u32) }
|
||||||
K32GetProcessMemoryInfo(
|
|
||||||
handle,
|
|
||||||
&mut memory_counters,
|
|
||||||
std::mem::size_of::<PROCESS_MEMORY_COUNTERS_EX>() as u32,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
.ok()
|
.ok()
|
||||||
.ok()?;
|
.ok()?;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user