| @@ -57,16 +57,9 @@ func (g *WaitGroup) WaitContext(ctx context.Context) { | |||||||
|  |  | ||||||
| 	select { | 	select { | ||||||
| 	case <-ctx.Done(): | 	case <-ctx.Done(): | ||||||
| 		g.drain.Swap(true) | 		g.wg.Add(-int(g.c.Load())) | ||||||
| 		for g.c.Load() > 0 { | 		<-done | ||||||
| 			select { |  | ||||||
| 			case <-done: |  | ||||||
| 				g.drain.Swap(false) |  | ||||||
| 		return | 		return | ||||||
| 			default: |  | ||||||
| 				g.wg.Done() |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 	case <-done: | 	case <-done: | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user