diff options
author | David Symonds <dsymonds@golang.org> | 2009-05-26 20:38:57 -0700 |
---|---|---|
committer | David Symonds <dsymonds@golang.org> | 2009-05-26 20:38:57 -0700 |
commit | df199034a7421a501fd63c9c0fa3eed9a10c8d75 (patch) | |
tree | 196e47773ef7e032738eeda17d194daf64c0a509 | |
parent | 18ad7e8decfb5ce21d9386bdec846214f6c1eb21 (diff) | |
download | golang-df199034a7421a501fd63c9c0fa3eed9a10c8d75.tar.gz |
Getrusage for linux.
R=rsc
APPROVED=rsc
DELTA=40 (38 added, 0 deleted, 2 changed)
OCL=29351
CL=29422
-rw-r--r-- | src/lib/syscall/Makefile | 5 | ||||
-rw-r--r-- | src/lib/syscall/proc_darwin.go | 15 | ||||
-rw-r--r-- | src/lib/syscall/proc_linux.go | 19 | ||||
-rw-r--r-- | src/lib/syscall/types_amd64_linux.go | 5 |
4 files changed, 42 insertions, 2 deletions
diff --git a/src/lib/syscall/Makefile b/src/lib/syscall/Makefile index ae4c2c11a..8c28d08ff 100644 --- a/src/lib/syscall/Makefile +++ b/src/lib/syscall/Makefile @@ -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) diff --git a/src/lib/syscall/proc_darwin.go b/src/lib/syscall/proc_darwin.go new file mode 100644 index 000000000..f93acf6ee --- /dev/null +++ b/src/lib/syscall/proc_darwin.go @@ -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"; +) diff --git a/src/lib/syscall/proc_linux.go b/src/lib/syscall/proc_linux.go new file mode 100644 index 000000000..e4e376081 --- /dev/null +++ b/src/lib/syscall/proc_linux.go @@ -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 +} diff --git a/src/lib/syscall/types_amd64_linux.go b/src/lib/syscall/types_amd64_linux.go index a71606a5b..218cf769e 100644 --- a/src/lib/syscall/types_amd64_linux.go +++ b/src/lib/syscall/types_amd64_linux.go @@ -28,6 +28,11 @@ type Timeval struct { // Processes +const ( + RUSAGE_SELF = 0; + RUSAGE_CHILDREN = -1; +) + type Rusage struct { Utime Timeval; Stime Timeval; |