1
0
mirror of https://github.com/rancher/os.git synced 2025-09-06 01:01:43 +00:00

Update vendor/

This commit is contained in:
Darren Shepherd
2016-06-01 01:42:22 -07:00
parent 8ab32c820f
commit 03db5d1058
832 changed files with 125590 additions and 26 deletions

View File

@@ -0,0 +1,33 @@
// +build !windows
package utils
import (
"io/ioutil"
"strconv"
"syscall"
)
func CloseExecFrom(minFd int) error {
fdList, err := ioutil.ReadDir("/proc/self/fd")
if err != nil {
return err
}
for _, fi := range fdList {
fd, err := strconv.Atoi(fi.Name())
if err != nil {
// ignore non-numeric file names
continue
}
if fd < minFd {
// ignore descriptors lower than our specified minimum
continue
}
// intentionally ignore errors from syscall.CloseOnExec
syscall.CloseOnExec(fd)
// the cases where this might fail are basically file descriptors that have already been closed (including and especially the one that was created when ioutil.ReadDir did the "opendir" syscall)
}
return nil
}