aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/utils/fdlimit_unix.go
diff options
context:
space:
mode:
authorRicardo Domingos <ricardohsd@gmail.com>2018-01-12 04:55:21 +0800
committerPéter Szilágyi <peterke@gmail.com>2018-01-12 04:55:21 +0800
commit56152b31ac251d1cc68fcddbdad159ba5234c415 (patch)
tree0b3bca4a858593df684a20a37b5598a483f4b17f /cmd/utils/fdlimit_unix.go
parent023769d9d48fab92c1d4d7d97c0a08ae3ef2cdca (diff)
downloaddexon-56152b31ac251d1cc68fcddbdad159ba5234c415.tar
dexon-56152b31ac251d1cc68fcddbdad159ba5234c415.tar.gz
dexon-56152b31ac251d1cc68fcddbdad159ba5234c415.tar.bz2
dexon-56152b31ac251d1cc68fcddbdad159ba5234c415.tar.lz
dexon-56152b31ac251d1cc68fcddbdad159ba5234c415.tar.xz
dexon-56152b31ac251d1cc68fcddbdad159ba5234c415.tar.zst
dexon-56152b31ac251d1cc68fcddbdad159ba5234c415.zip
common/fdlimit: Move fdlimit files to separate package (#15850)
* common/fdlimit: Move fdlimit files to separate package When go-ethereum is used as a library the calling program need to set the FD limit. This commit extract fdlimit files to a separate package so it can be used outside of go-ethereum. * common/fdlimit: Remove FdLimit from functions signature * common/fdlimit: Rename fdlimit functions
Diffstat (limited to 'cmd/utils/fdlimit_unix.go')
-rw-r--r--cmd/utils/fdlimit_unix.go60
1 files changed, 0 insertions, 60 deletions
diff --git a/cmd/utils/fdlimit_unix.go b/cmd/utils/fdlimit_unix.go
deleted file mode 100644
index c08d1fab0..000000000
--- a/cmd/utils/fdlimit_unix.go
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2016 The go-ethereum Authors
-// This file is part of go-ethereum.
-//
-// go-ethereum is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// go-ethereum is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with go-ethereum. If not, see <http://www.gnu.org/licenses/>.
-
-// +build linux darwin netbsd openbsd solaris
-
-package utils
-
-import "syscall"
-
-// raiseFdLimit tries to maximize the file descriptor allowance of this process
-// to the maximum hard-limit allowed by the OS.
-func raiseFdLimit(max uint64) error {
- // Get the current limit
- var limit syscall.Rlimit
- if err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &limit); err != nil {
- return err
- }
- // Try to update the limit to the max allowance
- limit.Cur = limit.Max
- if limit.Cur > max {
- limit.Cur = max
- }
- if err := syscall.Setrlimit(syscall.RLIMIT_NOFILE, &limit); err != nil {
- return err
- }
- return nil
-}
-
-// getFdLimit retrieves the number of file descriptors allowed to be opened by this
-// process.
-func getFdLimit() (int, error) {
- var limit syscall.Rlimit
- if err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &limit); err != nil {
- return 0, err
- }
- return int(limit.Cur), nil
-}
-
-// getFdMaxLimit retrieves the maximum number of file descriptors this process is
-// allowed to request for itself.
-func getFdMaxLimit() (int, error) {
- var limit syscall.Rlimit
- if err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &limit); err != nil {
- return 0, err
- }
- return int(limit.Max), nil
-}