diff options
author | Sandro Santilli <strk@kbt.io> | 2016-11-15 08:06:31 +0100 |
---|---|---|
committer | Sandro Santilli <strk@kbt.io> | 2016-11-24 09:02:10 +0100 |
commit | ad3d6b7fffd9ee1380e7149cc2c5bfc7c3396891 (patch) | |
tree | 4296d1fba66c00650beb05abf525e55a5d1f8632 /modules/process/manager.go | |
parent | 6ed7f269f198b5a57e5bc7eca6ddec4980417899 (diff) | |
download | gitea-ad3d6b7fffd9ee1380e7149cc2c5bfc7c3396891.tar.gz gitea-ad3d6b7fffd9ee1380e7149cc2c5bfc7c3396891.zip |
Lint and document manager api
Diffstat (limited to 'modules/process/manager.go')
-rw-r--r-- | modules/process/manager.go | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/modules/process/manager.go b/modules/process/manager.go index 4510a823cf..2748c14bb4 100644 --- a/modules/process/manager.go +++ b/modules/process/manager.go @@ -15,13 +15,14 @@ import ( ) var ( + // ErrExecTimeout represent a timeout error ErrExecTimeout = errors.New("Process execution timeout") -) -// Common timeout. -var ( + // DefaultTimeout is the timeout used by Exec* family + // of function when timeout parameter is omitted or + // passed as -1 // NOTE: could be custom in config file for default. - DEFAULT = 60 * time.Second + DefaultTimeout = 60 * time.Second ) // Process represents a working process inherit from Gogs. @@ -51,10 +52,13 @@ func Add(desc string, cmd *exec.Cmd) int64 { return pid } -// Exec starts executing a command in given path, it records its process and timeout. +// ExecDir runs a command in given path and waits for its completion +// up to the given timeout (or DefaultTimeout if -1 is given). +// Returns its complete stdout and stderr +// outputs and an error, if any (including timeout) func ExecDir(timeout time.Duration, dir, desc, cmdName string, args ...string) (string, string, error) { if timeout == -1 { - timeout = DEFAULT + timeout = DefaultTimeout } bufOut := new(bytes.Buffer) @@ -89,12 +93,17 @@ func ExecDir(timeout time.Duration, dir, desc, cmdName string, args ...string) ( return bufOut.String(), bufErr.String(), err } -// Exec starts executing a command, it records its process and timeout. +// ExecTimeout runs a command and waits for its completion +// up to the given timeout (or DefaultTimeout if -1 is given). +// Returns its complete stdout and stderr +// outputs and an error, if any (including timeout) func ExecTimeout(timeout time.Duration, desc, cmdName string, args ...string) (string, string, error) { return ExecDir(timeout, "", desc, cmdName, args...) } -// Exec starts executing a command, it records its process and has default timeout. +// Exec runs a command and waits for its completion +// up to DefaultTimeout. Returns its complete stdout and stderr +// outputs and an error, if any (including timeout) func Exec(desc, cmdName string, args ...string) (string, string, error) { return ExecDir(-1, "", desc, cmdName, args...) } |