Forráskód Böngészése

update wait logic

Darien Raymond 8 éve
szülő
commit
52ee3ff79c
1 módosított fájl, 7 hozzáadás és 10 törlés
  1. 7 10
      common/signal/timer.go

+ 7 - 10
common/signal/timer.go

@@ -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):
-				t.cancel()
-				return
-			case <-t.ctx.Done():
-				return
-			case <-t.updated:
-			}
+			t.cancel()
+			return
 		}
+
 	}
 }