diff options
author | Tamir Duberstein <tamird@google.com> | 2021-06-03 14:15:48 -0700 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2021-06-03 14:18:22 -0700 |
commit | b3c608ef8593bad15f9560899febe3ab1e654a73 (patch) | |
tree | 1cdafdf96dcbdd69e4ef2be789a2deb821f2963a | |
parent | 758713f4c1b789495435a166167f231991828b46 (diff) |
Implement stringer for ExitStatus
PiperOrigin-RevId: 377370807
-rw-r--r-- | pkg/sentry/kernel/task_exit.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/pkg/sentry/kernel/task_exit.go b/pkg/sentry/kernel/task_exit.go index b1af1a7ef..385385d1e 100644 --- a/pkg/sentry/kernel/task_exit.go +++ b/pkg/sentry/kernel/task_exit.go @@ -28,6 +28,7 @@ import ( "errors" "fmt" "strconv" + "strings" "gvisor.dev/gvisor/pkg/abi/linux" "gvisor.dev/gvisor/pkg/sentry/arch" @@ -50,6 +51,23 @@ type ExitStatus struct { Signo int } +func (es ExitStatus) String() string { + var b strings.Builder + if code := es.Code; code != 0 { + if b.Len() != 0 { + b.WriteByte(' ') + } + _, _ = fmt.Fprintf(&b, "Code=%d", code) + } + if signal := es.Signo; signal != 0 { + if b.Len() != 0 { + b.WriteByte(' ') + } + _, _ = fmt.Fprintf(&b, "Signal=%d", signal) + } + return b.String() +} + // Signaled returns true if the ExitStatus indicates that the exiting task or // thread group was killed by a signal. func (es ExitStatus) Signaled() bool { |