fix crash on init timeout = 0

pull/1712/head
Darien Raymond 2017-12-14 17:39:58 +01:00
parent bf1f099b51
commit bc9267846c
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169
1 changed files with 7 additions and 2 deletions

View File

@ -26,6 +26,13 @@ func (t *ActivityTimer) SetTimeout(timeout time.Duration) {
} }
func (t *ActivityTimer) run(ctx context.Context, cancel context.CancelFunc) { func (t *ActivityTimer) run(ctx context.Context, cancel context.CancelFunc) {
defer cancel()
timeout := <-t.timeout
if timeout == 0 {
return
}
ticker := time.NewTicker(<-t.timeout) ticker := time.NewTicker(<-t.timeout)
defer func() { defer func() {
ticker.Stop() ticker.Stop()
@ -38,7 +45,6 @@ func (t *ActivityTimer) run(ctx context.Context, cancel context.CancelFunc) {
return return
case timeout := <-t.timeout: case timeout := <-t.timeout:
if timeout == 0 { if timeout == 0 {
cancel()
return return
} }
@ -51,7 +57,6 @@ func (t *ActivityTimer) run(ctx context.Context, cancel context.CancelFunc) {
case <-t.updated: case <-t.updated:
// Updated keep waiting. // Updated keep waiting.
default: default:
cancel()
return return
} }
} }