Use a better package name for utility functions.

This commit is contained in:
Jaana Burcu Dogan 2016-02-17 00:10:18 +01:00
parent 8c38c931b0
commit f611b37834
5 changed files with 10 additions and 10 deletions

38
osutils/reaper.go Normal file
View file

@ -0,0 +1,38 @@
package osutils
import (
"syscall"
"github.com/opencontainers/runc/libcontainer/utils"
)
// Exit is the wait4 information from an exited process
type Exit struct {
Pid int
Status int
}
// Reap reaps all child processes for the calling process and returns their
// exit information
func Reap() (exits []Exit, err error) {
var (
ws syscall.WaitStatus
rus syscall.Rusage
)
for {
pid, err := syscall.Wait4(-1, &ws, syscall.WNOHANG, &rus)
if err != nil {
if err == syscall.ECHILD {
return exits, nil
}
return exits, err
}
if pid <= 0 {
return exits, nil
}
exits = append(exits, Exit{
Pid: pid,
Status: utils.ExitStatus(ws),
})
}
}