Defer wg.Done().
authorFlorian Forster <ff@octo.it>
Wed, 24 Jan 2018 19:50:26 +0000 (20:50 +0100)
committerFlorian Forster <ff@octo.it>
Wed, 24 Jan 2018 19:50:26 +0000 (20:50 +0100)
gfitsync.go

index eb3c953..61e9107 100644 (file)
@@ -292,6 +292,8 @@ func handleNotification(ctx context.Context, s *fitbit.Subscription) error {
 
        wg.Add(1)
        go func() {
+               defer wg.Done()
+
                var distanceMeters float64
                for _, d := range summary.Summary.Distances {
                        if d.Activity != "total" {
@@ -302,8 +304,8 @@ func handleNotification(ctx context.Context, s *fitbit.Subscription) error {
                }
                if err := gfitClient.SetDistance(ctx, distanceMeters, tm); err != nil {
                        errs = append(errs, fmt.Errorf("gfitClient.SetDistance(%d) = %v", distanceMeters, err))
+                       return
                }
-               wg.Done()
        }()
 
        wg.Add(1)