diff --git a/cmd/lock-rpc-server.go b/cmd/lock-rpc-server.go index 77c738f32..92d68e514 100644 --- a/cmd/lock-rpc-server.go +++ b/cmd/lock-rpc-server.go @@ -76,11 +76,12 @@ func startLockMaintenance(lockServers []*lockServer) { for { // Verifies every minute for locks held more than 2minutes. select { - case <-ticker.C: - lk.lockMaintenance(lockValidityCheckInterval) case <-globalServiceDoneCh: - // Stop the timer. + // Stop the timer upon service closure and cleanup the go-routine. ticker.Stop() + return + case <-ticker.C: + lk.lockMaintenance(lockValidityCheckInterval) } } }(locker)