18947: Close trackers before existing dispatch goroutine.
authorTom Clegg <tom@curii.com>
Wed, 13 Apr 2022 18:13:26 +0000 (14:13 -0400)
committerTom Clegg <tom@curii.com>
Wed, 13 Apr 2022 18:13:26 +0000 (14:13 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

sdk/go/dispatch/dispatch.go

index a0a61f2b6d8aa28acc412376e058db8a5842215d..d34ea68d7a3c4f968e0e44bf3d78bd24bd79f3a7 100644 (file)
@@ -98,6 +98,11 @@ func (d *Dispatcher) Run(ctx context.Context) error {
                case <-poll.C:
                        break
                case <-ctx.Done():
+                       d.mtx.Lock()
+                       defer d.mtx.Unlock()
+                       for _, tracker := range d.trackers {
+                               tracker.close()
+                       }
                        return ctx.Err()
                }