switch from package syscall to x/sys/unix

The syscall package is locked down and the comment in [1] advises to
switch code to use the corresponding package from golang.org/x/sys. Do
so and replace usage of package syscall with package
golang.org/x/sys/unix where applicable.

  [1] https://github.com/golang/go/blob/master/src/syscall/syscall.go#L21-L24

This will also allow to get updates and fixes for syscall wrappers
without having to use a new go version.

Errno, Signal and SysProcAttr aren't changed as they haven't been
implemented in /x/sys/. Stat_t from syscall is used if standard library
packages (e.g. os) require it. syscall.SIGTERM is used for
cross-platform files.
This commit is contained in:
Tobias Klauser
2017-07-20 13:44:19 +02:00
parent 1fd18181ab
commit 4a69005fa1
24 changed files with 52 additions and 38 deletions

View File

@@ -19,9 +19,9 @@ limitations under the License.
package rlimit
import (
"syscall"
"golang.org/x/sys/unix"
)
func RlimitNumFiles(maxOpenFiles uint64) {
syscall.Setrlimit(syscall.RLIMIT_NOFILE, &syscall.Rlimit{Max: maxOpenFiles, Cur: maxOpenFiles})
unix.Setrlimit(unix.RLIMIT_NOFILE, &unix.Rlimit{Max: maxOpenFiles, Cur: maxOpenFiles})
}