summaryrefslogtreecommitdiffstats
path: root/src/wait
diff options
context:
space:
mode:
authorsyn <isaqtm@gmail.com>2020-02-27 14:26:22 +0300
committersyn <isaqtm@gmail.com>2020-02-27 14:26:22 +0300
commit4a70743d725693c5980b157a819c4e6fa80b3e01 (patch)
treec5e872e10316a705a1daed26a0d91a232adc634a /src/wait
parent921853677e95f6e129018e8e57956ea5c4ec947d (diff)
downloadevr-4a70743d725693c5980b157a819c4e6fa80b3e01.tar.gz
Fix maxrss on macos
On BSDs ru_maxrss measures in bytes, so fix output for bsd systems (incl macos)
Diffstat (limited to 'src/wait')
-rw-r--r--src/wait/rusage_ffi.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/wait/rusage_ffi.rs b/src/wait/rusage_ffi.rs
index 5948958..0a9117a 100644
--- a/src/wait/rusage_ffi.rs
+++ b/src/wait/rusage_ffi.rs
@@ -51,3 +51,15 @@ impl From<libc::rusage> for Rusage {
}
}
}
+
+impl Rusage {
+ pub fn get_rss_bytes(&self) -> i64 {
+ if cfg!(target_os = "macos") {
+ self.ru_maxrss
+ } else if cfg!(target_os = "linux") {
+ self.ru_maxrss * 1000 // on linux ru_maxrss is in kilobytes
+ } else {
+ unimplemented!();
+ }
+ }
+} \ No newline at end of file