Getrusage for linux.

R=rsc
APPROVED=rsc
DELTA=40  (38 added, 0 deleted, 2 changed)
OCL=29351
CL=29422
This commit is contained in:
David Symonds 2009-05-26 20:38:57 -07:00
parent 646927e48a
commit afba16f469
4 changed files with 42 additions and 2 deletions

View File

@ -3,7 +3,7 @@
# license that can be found in the LICENSE file.
# DO NOT EDIT. Automatically generated by gobuild.
# gobuild -m errstr_${GOOS}.go file_${GOOS}.go socket_${GOOS}.go syscall_${GOARCH}_${GOOS}.go time_${GOARCH}_${GOOS}.go types_${GOARCH}_${GOOS}.go asm_${GOARCH}_${GOOS}.s syscall.go signal_${GOARCH}_${GOOS}.go exec.go >Makefile
# gobuild -m errstr_${GOOS}.go file_${GOOS}.go socket_${GOOS}.go syscall_${GOARCH}_${GOOS}.go time_${GOARCH}_${GOOS}.go types_${GOARCH}_${GOOS}.go asm_${GOARCH}_${GOOS}.s syscall.go signal_${GOARCH}_${GOOS}.go exec.go proc_${GOOS}.go >Makefile
D=
@ -51,6 +51,7 @@ O2=\
O3=\
file_$(GOOS).$O\
proc_$(GOOS).$O\
socket_$(GOOS).$O\
time_$(GOARCH)_$(GOOS).$O\
@ -70,7 +71,7 @@ a2: $(O2)
rm -f $(O2)
a3: $(O3)
$(AR) grc _obj$D/syscall.a file_$(GOOS).$O socket_$(GOOS).$O time_$(GOARCH)_$(GOOS).$O
$(AR) grc _obj$D/syscall.a file_$(GOOS).$O proc_$(GOOS).$O socket_$(GOOS).$O time_$(GOARCH)_$(GOOS).$O
rm -f $(O3)
a4: $(O4)

View File

@ -0,0 +1,15 @@
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package syscall
// Process operations for Darwin
// TODO:
// - getrusage
// - getrlimit, setrlimit
import (
"syscall";
"unsafe";
)

View File

@ -0,0 +1,19 @@
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package syscall
// Process operations for Linux
// TODO:
// - getrlimit, setrlimit
import (
"syscall";
"unsafe";
)
func Getrusage(who int64, usage *Rusage) (ret, errno int64) {
r1, r2, err := Syscall(SYS_GETRUSAGE, who, int64(uintptr(unsafe.Pointer(usage))), 0);
return r1, err
}

View File

@ -28,6 +28,11 @@ type Timeval struct {
// Processes
const (
RUSAGE_SELF = 0;
RUSAGE_CHILDREN = -1;
)
type Rusage struct {
Utime Timeval;
Stime Timeval;