diff --git a/oci/oci.go b/oci/oci.go index 0187e64d..b72b4357 100644 --- a/oci/oci.go +++ b/oci/oci.go @@ -171,7 +171,7 @@ func (r *Runtime) UpdateStatus(c *Container) error { if err != nil { return fmt.Errorf("status code conversion failed: %v", err) } - c.state.ExitCode = int32(statusCode) + c.state.ExitCode = int32(utils.StatusToExitCode(statusCode)) } return nil diff --git a/utils/utils.go b/utils/utils.go index dd90ec28..ca5d7f17 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -125,3 +125,8 @@ func StartReaper() { } }() } + +// StatusToExitCode converts wait status code to an exit code +func StatusToExitCode(status int) int { + return ((status) & 0xff00) >> 8 +}