Skip to content

Commit 03b8ebd

Browse files
committed
Lock on err
1 parent 87c70ac commit 03b8ebd

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
@@ -156,12 +156,18 @@ func (data *Data) dumpTable(name string) error {
156156
}
157157

158158
func (data *Data) writeTable(table *table) {
159+
// Keep a counter of how many tables have been written
160+
defer data.wg.Done()
161+
162+
// Force this method into serial
159163
data.mux.Lock()
160-
if err := data.tableTmpl.Execute(data.Out, table); err != nil {
164+
defer data.mux.Unlock()
165+
166+
if data.err != nil {
167+
return
168+
} else if err := data.tableTmpl.Execute(data.Out, table); err != nil {
161169
data.err = err
162170
}
163-
data.mux.Unlock()
164-
data.wg.Done()
165171
return
166172
}
167173

0 commit comments

Comments
 (0)