diff --git a/src/scheme/proc.rs b/src/scheme/proc.rs index b59e2407a7..415e7e26f8 100644 --- a/src/scheme/proc.rs +++ b/src/scheme/proc.rs @@ -1253,8 +1253,12 @@ impl ContextHandle { let status = { let context = context.read(); match context.status { + Status::Runnable | Status::Dead { excp: None } + if context.being_sigkilled => + { + ContextStatus::ForceKilled + } Status::Dead { excp: None } => ContextStatus::Dead, - Status::Runnable if context.being_sigkilled => ContextStatus::ForceKilled, Status::Dead { excp: Some(excp) } => { let (status, payload) = buf.split_at(size_of::()).ok_or(Error::new(EINVAL))?;