Skip to content

Commit 530393c

Browse files
committed
Collect error from goroutine
1 parent 5671c80 commit 530393c

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

dump.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ type Data struct {
2929
footerTmpl *template.Template
3030
mux sync.Mutex
3131
wg sync.WaitGroup
32+
err error
3233
}
3334

3435
type table struct {
@@ -132,6 +133,9 @@ func (data *Data) Dump() error {
132133
}
133134
}
134135
data.wg.Wait()
136+
if data.err != nil {
137+
return data.err
138+
}
135139

136140
// Set complete time
137141
meta.CompleteTime = time.Now().String()
@@ -152,12 +156,14 @@ func (data *Data) dumpTable(name string) error {
152156
return nil
153157
}
154158

155-
func (data *Data) writeTable(table *table) error {
159+
func (data *Data) writeTable(table *table) {
156160
data.mux.Lock()
157-
err := data.tableTmpl.Execute(data.Out, table)
161+
if err := data.tableTmpl.Execute(data.Out, table); err != nil && data.err == nil {
162+
data.err = err
163+
}
158164
data.mux.Unlock()
159165
data.wg.Done()
160-
return err
166+
return
161167
}
162168

163169
// MARK: get methods

0 commit comments

Comments
 (0)