@@ -23,20 +23,17 @@ func (t *ActivityTimer) run() {
for {
select {
case <-time.After(t.timeout):
- t.cancel()
- return
case <-t.ctx.Done():
return
+ }
+ select {
+ case <-t.updated:
+ // Updated keep waiting.
default:
- select {
- case <-time.After(t.timeout):
- case <-t.ctx.Done():
- case <-t.updated:
- }
+ t.cancel()
+ return
}
+