summaryrefslogtreecommitdiffhomepage
path: root/device/timers.go
diff options
context:
space:
mode:
Diffstat (limited to 'device/timers.go')
-rw-r--r--device/timers.go3
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