summaryrefslogtreecommitdiff
path: root/vendor/github.com/docker/go-units/ulimit.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/docker/go-units/ulimit.go')
-rw-r--r--vendor/github.com/docker/go-units/ulimit.go9
1 files changed, 7 insertions, 2 deletions
diff --git a/vendor/github.com/docker/go-units/ulimit.go b/vendor/github.com/docker/go-units/ulimit.go
index 5ac7fd825..fca0400cc 100644
--- a/vendor/github.com/docker/go-units/ulimit.go
+++ b/vendor/github.com/docker/go-units/ulimit.go
@@ -96,8 +96,13 @@ func ParseUlimit(val string) (*Ulimit, error) {
return nil, fmt.Errorf("too many limit value arguments - %s, can only have up to two, `soft[:hard]`", parts[1])
}
- if soft > *hard {
- return nil, fmt.Errorf("ulimit soft limit must be less than or equal to hard limit: %d > %d", soft, *hard)
+ if *hard != -1 {
+ if soft == -1 {
+ return nil, fmt.Errorf("ulimit soft limit must be less than or equal to hard limit: soft: -1 (unlimited), hard: %d", *hard)
+ }
+ if soft > *hard {
+ return nil, fmt.Errorf("ulimit soft limit must be less than or equal to hard limit: %d > %d", soft, *hard)
+ }
}
return &Ulimit{Name: parts[0], Soft: soft, Hard: *hard}, nil