diff options
author | Jack Moffitt <jack@metajack.im> | 2014-08-28 09:34:23 -0600 |
---|---|---|
committer | Jack Moffitt <jack@metajack.im> | 2014-09-08 20:21:42 -0600 |
commit | c6ab60dbfc6da7b4f800c9e40893c8b58413960c (patch) | |
tree | d1d74076cf7fa20e4f77ec7cb82cae98b67362cb /support/rust-task_info/src/task_info.c | |
parent | db2f642c32fc5bed445bb6f2e45b0f6f0b4342cf (diff) | |
download | servo-c6ab60dbfc6da7b4f800c9e40893c8b58413960c.tar.gz servo-c6ab60dbfc6da7b4f800c9e40893c8b58413960c.zip |
Cargoify servo
Diffstat (limited to 'support/rust-task_info/src/task_info.c')
-rw-r--r-- | support/rust-task_info/src/task_info.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/support/rust-task_info/src/task_info.c b/support/rust-task_info/src/task_info.c new file mode 100644 index 00000000000..e8f59082609 --- /dev/null +++ b/support/rust-task_info/src/task_info.c @@ -0,0 +1,39 @@ +// Copyright 2013 The Servo Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +#include <mach/mach_init.h> +#include <mach/task.h> + +static int +TaskBasicInfo(struct task_basic_info* info) +{ + mach_msg_type_number_t count = TASK_BASIC_INFO_COUNT; + kern_return_t kr = task_info(mach_task_self(), TASK_BASIC_INFO, + (task_info_t)info, &count); + return kr == KERN_SUCCESS ? 0 : -1; +} + +int +TaskBasicInfoVirtualSize(int64_t *virtualSize) +{ + struct task_basic_info ti; + int rv = TaskBasicInfo(&ti); + *virtualSize = (rv == 0) ? ti.virtual_size : 0; + return rv; +} + +int +TaskBasicInfoResidentSize(int64_t *residentSize) +{ + struct task_basic_info ti; + int rv = TaskBasicInfo(&ti); + *residentSize = (rv == 0) ? ti.resident_size : 0; + return rv; +} + |