Update the vendor folder (#53)

* Update the vendor folder

* Update the Gopkg.lock by running dep ensure
This commit is contained in:
Robbie Zhang
2018-01-05 11:22:17 -08:00
committed by GitHub
parent 0e123c783b
commit 77d0687688
540 changed files with 78101 additions and 107 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
}