Explorar o código

cancel immediately when timeout = 0

Darien Raymond %!s(int64=8) %!d(string=hai) anos
pai
achega
0aa48e6c5a
Modificáronse 1 ficheiros con 5 adicións e 0 borrados
  1. 5 0
      common/signal/timer.go

+ 5 - 0
common/signal/timer.go

@@ -39,6 +39,11 @@ func (t *ActivityTimer) run() {
 		case <-t.ctx.Done():
 			return
 		case timeout := <-t.timeout:
+			if timeout == 0 {
+				t.cancel()
+				return
+			}
+
 			ticker.Stop()
 			ticker = time.NewTicker(timeout)
 		}