diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-05-11 15:10:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-11 15:10:12 +0200 |
commit | 6a26caf6bf09c5481e14af56bf3e96852bac2680 (patch) | |
tree | b938c08824938b7adcce3888c9954e3118337b89 /pkg | |
parent | 18b273b72ba76d485eb1b4d5df48bff1685953ff (diff) | |
parent | 76f8efc0d0d7a697a4821d01f3c5dbf67bf33d8e (diff) | |
download | podman-6a26caf6bf09c5481e14af56bf3e96852bac2680.tar.gz podman-6a26caf6bf09c5481e14af56bf3e96852bac2680.tar.bz2 podman-6a26caf6bf09c5481e14af56bf3e96852bac2680.zip |
Merge pull request #6167 from giuseppe/fix-setting-limits
spec: fix order for setting rlimits
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/spec/spec.go | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/pkg/spec/spec.go b/pkg/spec/spec.go index 77e92ae29..25cad9578 100644 --- a/pkg/spec/spec.go +++ b/pkg/spec/spec.go @@ -545,10 +545,14 @@ func addRlimits(config *CreateConfig, g *generate.Generator) error { if err := unix.Getrlimit(unix.RLIMIT_NOFILE, &rlimit); err != nil { logrus.Warnf("failed to return RLIMIT_NOFILE ulimit %q", err) } - current = rlimit.Cur - max = rlimit.Max + if rlimit.Cur < current { + current = rlimit.Cur + } + if rlimit.Max < max { + max = rlimit.Max + } } - g.AddProcessRlimits("RLIMIT_NOFILE", current, max) + g.AddProcessRlimits("RLIMIT_NOFILE", max, current) } if !nprocSet { max := kernelMax @@ -558,10 +562,14 @@ func addRlimits(config *CreateConfig, g *generate.Generator) error { if err := unix.Getrlimit(unix.RLIMIT_NPROC, &rlimit); err != nil { logrus.Warnf("failed to return RLIMIT_NPROC ulimit %q", err) } - current = rlimit.Cur - max = rlimit.Max + if rlimit.Cur < current { + current = rlimit.Cur + } + if rlimit.Max < max { + max = rlimit.Max + } } - g.AddProcessRlimits("RLIMIT_NPROC", current, max) + g.AddProcessRlimits("RLIMIT_NPROC", max, current) } return nil |