fix #26
parent
627a3ac153
commit
6b7940ac7d
@ -0,0 +1,28 @@
|
|||||||
|
// +build linux darwin
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"syscall"
|
||||||
|
|
||||||
|
"github.com/qiniu/log"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
go reapChildren()
|
||||||
|
}
|
||||||
|
|
||||||
|
func reapChildren() {
|
||||||
|
var wstatus syscall.WaitStatus
|
||||||
|
|
||||||
|
for {
|
||||||
|
pid, err := syscall.Wait4(-1, &wstatus, 0, nil)
|
||||||
|
for err == syscall.EINTR {
|
||||||
|
pid, err = syscall.Wait4(-1, &wstatus, 0, nil)
|
||||||
|
}
|
||||||
|
if err == syscall.ECHILD {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
log.Printf("pid %d, finished, wstatus: %+v", pid, wstatus)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue