]> Cypherpunks repositories - gostls13.git/commit
syscall: Setrlimit: always clean rlimitNofileCache
authorKir Kolyshkin <kolyshkin@gmail.com>
Thu, 23 May 2024 20:32:50 +0000 (13:32 -0700)
committerGopher Robot <gobot@golang.org>
Fri, 24 May 2024 21:10:10 +0000 (21:10 +0000)
commit22a80e78ea6d65cd0b0726b2907f31b884aeda93
treead11a2c5770aa6c29dbe01f9765a7f40d3bcdb23
parent5c7d7745387f240dbbd31940dce8be2b3000c53d
syscall: Setrlimit: always clean rlimitNofileCache

Since the introduction of origRlimitNofileCache in CL 476097 the only way to
disable restoring RLIMIT_NOFILE before calling execve syscall
(os.StartProcess etc) is this:

var r syscall.Rlimit
syscall.Getrlimit(syscall.RLIMIT_NOFILE, &r)
syscall.Setrlimit(syscall.RLIMIT_NOFILE, &r)

The problem is, this only works when setrlimit syscall succeeds, which
is not possible in some scenarios.

Let's assume that if a user calls syscall.Setrlimit, they
unconditionally want to disable restoring the original rlimit.

For #66797.

Change-Id: I20d0365df4bd6a5c3cc8c22b0c0db87a25b52746
Reviewed-on: https://go-review.googlesource.com/c/go/+/588076
Run-TryBot: Kirill Kolyshkin <kolyshkin@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
TryBot-Bypass: Ian Lance Taylor <iant@golang.org>
src/syscall/rlimit.go