From e84d53199ff125e76e79487c450d7fb4a3880664 Mon Sep 17 00:00:00 2001 From: Ayush Ranjan Date: Sat, 24 Aug 2024 11:18:01 -0700 Subject: [PATCH] Add kernel.TaskSet.IsExiting(). PiperOrigin-RevId: 667150885 --- pkg/sentry/kernel/task_exit.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkg/sentry/kernel/task_exit.go b/pkg/sentry/kernel/task_exit.go index c4d9c8c6e..eb5bbbb28 100644 --- a/pkg/sentry/kernel/task_exit.go +++ b/pkg/sentry/kernel/task_exit.go @@ -192,6 +192,13 @@ func (ts *TaskSet) Kill(ws linux.WaitStatus) { } } +// IsExiting returns true if all tasks in ts are exiting or have exited. +func (ts *TaskSet) IsExiting() bool { + ts.mu.Lock() + defer ts.mu.Unlock() + return ts.Root.exiting +} + // advanceExitStateLocked checks that t's current exit state is oldExit, then // sets it to newExit. If t's current exit state is not oldExit, // advanceExitStateLocked panics.