Browse code

internal/test/daemon: don't leak timers

A timer is leaking on every daemon start and stop.
Probably nothing major, but given the amount of
daemon starts/stops during tests, it's better to
be accurate about it.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>

Kir Kolyshkin authored on 2018/10/25 17:08:45
Showing 1 changed files
... ...
@@ -285,7 +285,10 @@ func (d *Daemon) StartWithLogFile(out *os.File, providedArgs ...string) error {
285 285
 
286 286
 	d.Wait = wait
287 287
 
288
-	tick := time.Tick(500 * time.Millisecond)
288
+	ticker := time.NewTicker(500 * time.Millisecond)
289
+	defer ticker.Stop()
290
+	tick := ticker.C
291
+
289 292
 	// make sure daemon is ready to receive requests
290 293
 	startTime := time.Now().Unix()
291 294
 	for {
... ...
@@ -423,7 +426,9 @@ func (d *Daemon) StopWithError() error {
423 423
 	}()
424 424
 
425 425
 	i := 1
426
-	tick := time.Tick(time.Second)
426
+	ticker := time.NewTicker(time.Second)
427
+	defer ticker.Stop()
428
+	tick := ticker.C
427 429
 
428 430
 	if err := d.cmd.Process.Signal(os.Interrupt); err != nil {
429 431
 		if strings.Contains(err.Error(), "os: process already finished") {