Fix race condition

This commit is contained in:
Ingo Oppermann
2023-04-24 16:09:01 +02:00
parent 061542645c
commit b58cc8a7ee

View File

@@ -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
} }
} }