diff options
-rw-r--r-- | device/timers.go | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/device/timers.go b/device/timers.go index 0232eef..48cef94 100644 --- a/device/timers.go +++ b/device/timers.go @@ -29,18 +29,17 @@ func (peer *Peer) NewTimer(expirationFunction func(*Peer)) *Timer { timer := &Timer{} timer.Timer = time.AfterFunc(time.Hour, func() { timer.runningLock.Lock() + defer timer.runningLock.Unlock() timer.modifyingLock.Lock() if !timer.isPending { timer.modifyingLock.Unlock() - timer.runningLock.Unlock() return } timer.isPending = false timer.modifyingLock.Unlock() expirationFunction(peer) - timer.runningLock.Unlock() }) timer.Stop() return timer |