mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 05:44:20 +00:00
std.process.Child: enable rusage collection for freebsd, illumos, serenity
This commit is contained in:
parent
d04b0f1049
commit
766065c9e0
1 changed files with 25 additions and 3 deletions
|
|
@ -122,7 +122,7 @@ pub const ResourceUsageStatistics = struct {
|
|||
/// if available.
|
||||
pub inline fn getMaxRss(rus: ResourceUsageStatistics) ?usize {
|
||||
switch (native_os) {
|
||||
.linux => {
|
||||
.freebsd, .illumos, .linux, .serenity => {
|
||||
if (rus.rusage) |ru| {
|
||||
return @as(usize, @intCast(ru.maxrss)) * 1024;
|
||||
} else {
|
||||
|
|
@ -149,7 +149,18 @@ pub const ResourceUsageStatistics = struct {
|
|||
}
|
||||
|
||||
const rusage_init = switch (native_os) {
|
||||
.linux, .driverkit, .ios, .maccatalyst, .macos, .tvos, .visionos, .watchos => @as(?posix.rusage, null),
|
||||
.freebsd,
|
||||
.illumos,
|
||||
.linux,
|
||||
.serenity,
|
||||
.driverkit,
|
||||
.ios,
|
||||
.maccatalyst,
|
||||
.macos,
|
||||
.tvos,
|
||||
.visionos,
|
||||
.watchos,
|
||||
=> @as(?posix.rusage, null),
|
||||
.windows => @as(?windows.VM_COUNTERS, null),
|
||||
else => {},
|
||||
};
|
||||
|
|
@ -486,7 +497,18 @@ fn waitUnwrappedPosix(self: *ChildProcess) void {
|
|||
const res: posix.WaitPidResult = res: {
|
||||
if (self.request_resource_usage_statistics) {
|
||||
switch (native_os) {
|
||||
.linux, .driverkit, .ios, .maccatalyst, .macos, .tvos, .visionos, .watchos => {
|
||||
.freebsd,
|
||||
.illumos,
|
||||
.linux,
|
||||
.serenity,
|
||||
.driverkit,
|
||||
.ios,
|
||||
.maccatalyst,
|
||||
.macos,
|
||||
.tvos,
|
||||
.visionos,
|
||||
.watchos,
|
||||
=> {
|
||||
var ru: posix.rusage = undefined;
|
||||
const res = posix.wait4(self.id, 0, &ru);
|
||||
self.resource_usage_statistics.rusage = ru;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue