aboutsummaryrefslogtreecommitdiff
path: root/weed/shell/common.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/shell/common.go')
-rw-r--r--weed/shell/common.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/weed/shell/common.go b/weed/shell/common.go
index 43571176e..cb2df5828 100644
--- a/weed/shell/common.go
+++ b/weed/shell/common.go
@@ -2,6 +2,7 @@ package shell
import (
"errors"
+ "fmt"
"sync"
)
@@ -64,6 +65,13 @@ func (ewg *ErrorWaitGroup) Add(f ErrorWaitGroupTask) {
}()
}
+// AddErrorf adds an error to an ErrorWaitGroupTask result, without queueing any goroutines.
+func (ewg *ErrorWaitGroup) AddErrorf(format string, a ...interface{}) {
+ ewg.errorsMu.Lock()
+ ewg.errors = append(ewg.errors, fmt.Errorf(format, a...))
+ ewg.errorsMu.Unlock()
+}
+
// Wait sleeps until all ErrorWaitGroupTasks are completed, then returns errors for them.
func (ewg *ErrorWaitGroup) Wait() error {
ewg.wg.Wait()