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 {
p.callbacks.onExit = func() {
wg.Done()
p.callbacks.lock.Lock()
defer p.callbacks.lock.Unlock()
p.callbacks.onExit = nil
}
} else {
@@ -600,6 +604,10 @@ func (p *process) stop(wait bool) error {
p.callbacks.onExit = func() {
cb()
wg.Done()
p.callbacks.lock.Lock()
defer p.callbacks.lock.Unlock()
p.callbacks.onExit = cb
}
}