mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2025-09-20 00:37:57 +08:00
avoid data race on grace.hooks (#3572)
https://github.com/seaweedfs/seaweedfs/issues/3564
This commit is contained in:

committed by
GitHub

parent
8c3040db81
commit
c37d6fc01a
@@ -12,7 +12,7 @@ import (
|
|||||||
|
|
||||||
var signalChan chan os.Signal
|
var signalChan chan os.Signal
|
||||||
var hooks = make([]func(), 0)
|
var hooks = make([]func(), 0)
|
||||||
var hookLock sync.Mutex
|
var hookLock sync.RWMutex
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
signalChan = make(chan os.Signal, 1)
|
signalChan = make(chan os.Signal, 1)
|
||||||
@@ -27,7 +27,9 @@ func init() {
|
|||||||
// syscall.SIGQUIT,
|
// syscall.SIGQUIT,
|
||||||
)
|
)
|
||||||
go func() {
|
go func() {
|
||||||
for _ = range signalChan {
|
hookLock.RLock()
|
||||||
|
defer hookLock.RUnlock()
|
||||||
|
for range signalChan {
|
||||||
for _, hook := range hooks {
|
for _, hook := range hooks {
|
||||||
hook()
|
hook()
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user