2020-05-08 23:46:05 +08:00
|
|
|
// Copyright 2020 The Gitea Authors. All rights reserved.
|
2022-11-28 02:20:29 +08:00
|
|
|
// SPDX-License-Identifier: MIT
|
2020-05-08 23:46:05 +08:00
|
|
|
|
|
|
|
package util
|
|
|
|
|
|
|
|
import (
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
|
|
|
// StopTimer is a utility function to safely stop a time.Timer and clean its channel
|
|
|
|
func StopTimer(t *time.Timer) bool {
|
|
|
|
stopped := t.Stop()
|
|
|
|
if !stopped {
|
|
|
|
select {
|
|
|
|
case <-t.C:
|
|
|
|
default:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return stopped
|
|
|
|
}
|