summaryrefslogtreecommitdiffstats
path: root/commands/limit_darwin.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-04-09 18:38:21 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-04-11 09:48:56 +0200
commit7bc5e89fbaa5c613b8853ff7b69fae570bd0b56d (patch)
tree4122fd37d32737051b18847f68c64a3336557bb1 /commands/limit_darwin.go
parentfdf1d94ebc7d1aa4855c62237f2edbd4bdade1a7 (diff)
commands: Make more commands non-global
See #4598
Diffstat (limited to 'commands/limit_darwin.go')
-rw-r--r--commands/limit_darwin.go69
1 files changed, 42 insertions, 27 deletions
diff --git a/commands/limit_darwin.go b/commands/limit_darwin.go
index 9246f4497..e35c24de4 100644
--- a/commands/limit_darwin.go
+++ b/commands/limit_darwin.go
@@ -33,39 +33,54 @@ import (
jww "github.com/spf13/jwalterweatherman"
)
-func init() {
- checkCmd.AddCommand(limit)
+var _ cmder = (*limitCmd)(nil)
+
+type limitCmd struct {
+ cmd *cobra.Command
}
-var limit = &cobra.Command{
- Use: "ulimit",
- Short: "Check system ulimit settings",
- Long: `Hugo will inspect the current ulimit settings on the system.
+func newLimitCmd() *limitCmd {
+ ccmd := &cobra.Command{
+ Use: "ulimit",
+ Short: "Check system ulimit settings",
+ Long: `Hugo will inspect the current ulimit settings on the system.
This is primarily to ensure that Hugo can watch enough files on some OSs`,
- RunE: func(cmd *cobra.Command, args []string) error {
- var rLimit syscall.Rlimit
- err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit)
- if err != nil {
- return newSystemError("Error Getting Rlimit ", err)
- }
+ RunE: func(cmd *cobra.Command, args []string) error {
+ var rLimit syscall.Rlimit
+ err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit)
+ if err != nil {
+ return newSystemError("Error Getting Rlimit ", err)
+ }
- jww.FEEDBACK.Println("Current rLimit:", rLimit)
+ jww.FEEDBACK.Println("Current rLimit:", rLimit)
- jww.FEEDBACK.Println("Attempting to increase limit")
- rLimit.Max = 999999
- rLimit.Cur = 999999
- err = syscall.Setrlimit(syscall.RLIMIT_NOFILE, &rLimit)
- if err != nil {
- return newSystemError("Error Setting rLimit ", err)
- }
- err = syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit)
- if err != nil {
- return newSystemError("Error Getting rLimit ", err)
- }
- jww.FEEDBACK.Println("rLimit after change:", rLimit)
+ jww.FEEDBACK.Println("Attempting to increase limit")
+ rLimit.Max = 999999
+ rLimit.Cur = 999999
+ err = syscall.Setrlimit(syscall.RLIMIT_NOFILE, &rLimit)
+ if err != nil {
+ return newSystemError("Error Setting rLimit ", err)
+ }
+ err = syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit)
+ if err != nil {
+ return newSystemError("Error Getting rLimit ", err)
+ }
+ jww.FEEDBACK.Println("rLimit after change:", rLimit)
+
+ return nil
+ },
+ }
+
+ return &limitCmd{cmd: ccmd}
+}
+
+func (c *limitCmd) getCommand() *cobra.Command {
+ return c.cmd
+}
- return nil
- },
+func init() {
+ // TODO(bep) cli refactor
+ //checkCmdOld.AddCommand(limit)
}
func tweakLimit() {