From 4693e9c7a56a0ea85481303a39bdbf0f2d6074b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Thu, 25 Nov 2004 19:24:24 +0000 Subject: [PATCH] Implemented getrusage git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10241 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kernel/libroot/posix/sys/getrusage.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/kernel/libroot/posix/sys/getrusage.c b/src/kernel/libroot/posix/sys/getrusage.c index 81f307cc25..a73f9a6282 100644 --- a/src/kernel/libroot/posix/sys/getrusage.c +++ b/src/kernel/libroot/posix/sys/getrusage.c @@ -1,19 +1,30 @@ /* +** Copyright 2004, JérômDuval, jerome.duval@free.fr. ** Copyright 2004, Axel Dörfler, axeld@pinc-software.de. All rights reserved. -** Distributed under the terms of the Haiku License. +** Distributed under the terms of the MIT License. */ - +#include #include -#include #include int getrusage(int who, struct rusage *rusage) { - // ToDo: implement me! - errno = B_BAD_VALUE; - return -1; + team_usage_info info; + + if (get_team_usage_info(B_CURRENT_TEAM, who, &info) != B_OK) { + errno = B_BAD_VALUE; + return -1; + } + + rusage->ru_utime.tv_sec = info.user_time / 1000000; + rusage->ru_utime.tv_usec = info.user_time % 1000000; + + rusage->ru_stime.tv_sec = info.kernel_time / 1000000; + rusage->ru_stime.tv_usec = info.kernel_time % 1000000; + + return 0; }