mirror of
https://github.com/datarhei/core.git
synced 2025-09-27 04:16:25 +08:00
Fix race condition
This commit is contained in:
@@ -593,6 +593,10 @@ func (p *process) stop(wait bool) error {
|
|||||||
if p.callbacks.onExit == nil {
|
if p.callbacks.onExit == nil {
|
||||||
p.callbacks.onExit = func() {
|
p.callbacks.onExit = func() {
|
||||||
wg.Done()
|
wg.Done()
|
||||||
|
|
||||||
|
p.callbacks.lock.Lock()
|
||||||
|
defer p.callbacks.lock.Unlock()
|
||||||
|
|
||||||
p.callbacks.onExit = nil
|
p.callbacks.onExit = nil
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -600,6 +604,10 @@ func (p *process) stop(wait bool) error {
|
|||||||
p.callbacks.onExit = func() {
|
p.callbacks.onExit = func() {
|
||||||
cb()
|
cb()
|
||||||
wg.Done()
|
wg.Done()
|
||||||
|
|
||||||
|
p.callbacks.lock.Lock()
|
||||||
|
defer p.callbacks.lock.Unlock()
|
||||||
|
|
||||||
p.callbacks.onExit = cb
|
p.callbacks.onExit = cb
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user