Browse Source

a fix, maybe, for #48

pull/55/head
Jae Kwon 10 years ago
parent
commit
5cb65082b8
1 changed files with 4 additions and 3 deletions
  1. +4
    -3
      common/repeat_timer.go

+ 4
- 3
common/repeat_timer.go View File

@ -42,13 +42,13 @@ func (t *RepeatTimer) fireRoutine(ticker *time.Ticker) {
// Wait the duration again before firing. // Wait the duration again before firing.
func (t *RepeatTimer) Reset() { func (t *RepeatTimer) Reset() {
t.Stop()
t.mtx.Lock() // Lock t.mtx.Lock() // Lock
defer t.mtx.Unlock() defer t.mtx.Unlock()
if t.ticker != nil {
t.ticker.Stop()
}
t.ticker = time.NewTicker(t.dur) t.ticker = time.NewTicker(t.dur)
t.quit = make(chan struct{})
go t.fireRoutine(t.ticker) go t.fireRoutine(t.ticker)
} }
@ -60,6 +60,7 @@ func (t *RepeatTimer) Stop() bool {
if exists { if exists {
t.ticker.Stop() t.ticker.Stop()
t.ticker = nil t.ticker = nil
close(t.quit)
} }
return exists return exists
} }

Loading…
Cancel
Save