diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2012-03-06 17:57:23 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2012-03-06 17:57:23 +0000 |
commit | 593f74bbab63d34c7060918088bcbad686c31c66 (patch) | |
tree | 4ce83ca433796a728e9fdd00af105bce158532b5 /libgo/go/os/exec_plan9.go | |
parent | 46402cbe0ba3ea92be9642cf18eedaefe57a414c (diff) | |
download | gcc-593f74bbab63d34c7060918088bcbad686c31c66.zip gcc-593f74bbab63d34c7060918088bcbad686c31c66.tar.gz gcc-593f74bbab63d34c7060918088bcbad686c31c66.tar.bz2 |
libgo: Update to weekly.2012-03-04 release.
From-SVN: r185010
Diffstat (limited to 'libgo/go/os/exec_plan9.go')
-rw-r--r-- | libgo/go/os/exec_plan9.go | 44 |
1 files changed, 12 insertions, 32 deletions
diff --git a/libgo/go/os/exec_plan9.go b/libgo/go/os/exec_plan9.go index 1c9e2b9..41cc8c2 100644 --- a/libgo/go/os/exec_plan9.go +++ b/libgo/go/os/exec_plan9.go @@ -11,10 +11,7 @@ import ( "time" ) -// StartProcess starts a new process with the program, arguments and attributes -// specified by name, argv and attr. -// If there is an error, it will be of type *PathError. -func StartProcess(name string, argv []string, attr *ProcAttr) (p *Process, err error) { +func startProcess(name string, argv []string, attr *ProcAttr) (p *Process, err error) { sysattr := &syscall.ProcAttr{ Dir: attr.Dir, Env: attr.Env, @@ -40,7 +37,7 @@ func (note Plan9Note) String() string { return string(note) } -func (p *Process) Signal(sig Signal) error { +func (p *Process) signal(sig Signal) error { if p.done { return errors.New("os: process already finished") } @@ -54,8 +51,7 @@ func (p *Process) Signal(sig Signal) error { return e } -// Kill causes the Process to exit immediately. -func (p *Process) Kill() error { +func (p *Process) kill() error { f, e := OpenFile("/proc/"+itoa(p.Pid)+"/ctl", O_WRONLY, 0) if e != nil { return NewSyscallError("kill", e) @@ -65,9 +61,7 @@ func (p *Process) Kill() error { return e } -// Wait waits for the Process to exit or stop, and then returns a -// ProcessState describing its status and an error, if any. -func (p *Process) Wait() (ps *ProcessState, err error) { +func (p *Process) wait() (ps *ProcessState, err error) { var waitmsg syscall.Waitmsg if p.Pid == -1 { @@ -94,8 +88,7 @@ func (p *Process) Wait() (ps *ProcessState, err error) { return ps, nil } -// Release releases any resources associated with the Process. -func (p *Process) Release() error { +func (p *Process) release() error { // NOOP for Plan 9. p.Pid = -1 // no need for a finalizer anymore @@ -108,7 +101,7 @@ func findProcess(pid int) (p *Process, err error) { return newProcess(pid, 0), nil } -// ProcessState stores information about process as reported by Wait. +// ProcessState stores information about a process, as reported by Wait. type ProcessState struct { pid int // The process's id. status *syscall.Waitmsg // System-dependent status info. @@ -119,40 +112,27 @@ func (p *ProcessState) Pid() int { return p.pid } -// Exited returns whether the program has exited. -func (p *ProcessState) Exited() bool { +func (p *ProcessState) exited() bool { return p.status.Exited() } -// Success reports whether the program exited successfully, -// such as with exit status 0 on Unix. -func (p *ProcessState) Success() bool { +func (p *ProcessState) success() bool { return p.status.ExitStatus() == 0 } -// Sys returns system-dependent exit information about -// the process. Convert it to the appropriate underlying -// type, such as *syscall.Waitmsg on Plan 9, to access its contents. -func (p *ProcessState) Sys() interface{} { +func (p *ProcessState) sys() interface{} { return p.status } -// SysUsage returns system-dependent resource usage information about -// the exited process. Convert it to the appropriate underlying -// type, such as *syscall.Waitmsg on Plan 9, to access its contents. -func (p *ProcessState) SysUsage() interface{} { +func (p *ProcessState) sysUsage() interface{} { return p.status } -// UserTime returns the user CPU time of the exited process and its children. -// It is always reported as 0 on Windows. -func (p *ProcessState) UserTime() time.Duration { +func (p *ProcessState) userTime() time.Duration { return time.Duration(p.status.Time[0]) * time.Millisecond } -// SystemTime returns the system CPU time of the exited process and its children. -// It is always reported as 0 on Windows. -func (p *ProcessState) SystemTime() time.Duration { +func (p *ProcessState) systemTime() time.Duration { return time.Duration(p.status.Time[1]) * time.Millisecond } |