mirror of
https://github.com/moby/moby.git
synced 2026-08-12 22:16:46 +00:00
Commit8d56108ffbmoved this function from the generic (no build-tags) fileutils.go to a unix file, adding "freebsd" to the build-tags. This likely was a wrong assumption (as other files had freebsd build-tags). FreeBSD's procfs does not mention `/proc/<pid>/fd` in the manpage, and we don't test FreeBSD in CI, so let's drop it, and make this a Linux-only file. While updating also dropping the import-tag, as we're planning to move this file internal to the daemon. Signed-off-by: Sebastiaan van Stijn <github@gone.nl> (cherry picked from commit252e94f499) Resolved conflicts: pkg/fileutils/fileutils_linux.go Signed-off-by: Bjorn Neergaard <bjorn.neergaard@docker.com>
20 lines
399 B
Go
20 lines
399 B
Go
package fileutils
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
// GetTotalUsedFds Returns the number of used File Descriptors by
|
|
// reading it via /proc filesystem.
|
|
func GetTotalUsedFds() int {
|
|
if fds, err := os.ReadDir(fmt.Sprintf("/proc/%d/fd", os.Getpid())); err != nil {
|
|
logrus.Errorf("Error opening /proc/%d/fd: %s", os.Getpid(), err)
|
|
} else {
|
|
return len(fds)
|
|
}
|
|
return -1
|
|
}
|