From b58cc8a7ee9fab3fd407fcdf477a52b8a3496062 Mon Sep 17 00:00:00 2001 From: Ingo Oppermann Date: Mon, 24 Apr 2023 16:09:01 +0200 Subject: [PATCH] Fix race condition --- process/process.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/process/process.go b/process/process.go index 4bfcb4b4..d1754822 100644 --- a/process/process.go +++ b/process/process.go @@ -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 } }