avoid data race on grace.hooks (#3572)

https://github.com/seaweedfs/seaweedfs/issues/3564
This commit is contained in:
Konstantin Lebedev 2022-09-01 22:34:06 +05:00 committed by GitHub
parent 8c3040db81
commit c37d6fc01a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -12,7 +12,7 @@ import (
var signalChan chan os.Signal
var hooks = make([]func(), 0)
var hookLock sync.Mutex
var hookLock sync.RWMutex
func init() {
signalChan = make(chan os.Signal, 1)
@ -27,7 +27,9 @@ func init() {
// syscall.SIGQUIT,
)
go func() {
for _ = range signalChan {
hookLock.RLock()
defer hookLock.RUnlock()
for range signalChan {
for _, hook := range hooks {
hook()
}