mirror of
https://github.com/moby/moby.git
synced 2026-01-11 18:51:37 +00:00
Merge pull request #50220 from thaJeztah/fix_event_ordering
daemon: containerStop: fix ordering of "stop" and "die" events
This commit is contained in:
@@ -74,6 +74,9 @@ func (daemon *Daemon) containerStop(ctx context.Context, ctr *container.Containe
|
||||
defer func() {
|
||||
if retErr == nil {
|
||||
daemon.LogContainerEvent(ctr, events.ActionStop)
|
||||
// Ensure container status changes are committed by handler of container exit before returning control to the caller
|
||||
ctr.Lock()
|
||||
defer ctr.Unlock()
|
||||
}
|
||||
}()
|
||||
|
||||
@@ -93,9 +96,6 @@ func (daemon *Daemon) containerStop(ctx context.Context, ctr *container.Containe
|
||||
defer cancel()
|
||||
|
||||
if status := <-ctr.Wait(subCtx, containertypes.WaitConditionNotRunning); status.Err() == nil {
|
||||
// Ensure container status changes are committed by handler of container exit before returning control to the caller
|
||||
ctr.Lock()
|
||||
defer ctr.Unlock()
|
||||
// container did exit, so ignore any previous errors and return
|
||||
return nil
|
||||
}
|
||||
@@ -125,9 +125,5 @@ func (daemon *Daemon) containerStop(ctx context.Context, ctr *container.Containe
|
||||
// container did exit, so ignore previous errors and continue
|
||||
}
|
||||
|
||||
// Ensure container status changes are committed by handler of container exit before returning control to the caller
|
||||
ctr.Lock()
|
||||
defer ctr.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user