summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/kernel/semaphore
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/sentry/kernel/semaphore')
-rw-r--r--pkg/sentry/kernel/semaphore/BUILD15
-rw-r--r--pkg/sentry/kernel/semaphore/semaphore.go8
2 files changed, 9 insertions, 14 deletions
diff --git a/pkg/sentry/kernel/semaphore/BUILD b/pkg/sentry/kernel/semaphore/BUILD
index 969145fe1..e7fa44e2c 100644
--- a/pkg/sentry/kernel/semaphore/BUILD
+++ b/pkg/sentry/kernel/semaphore/BUILD
@@ -1,7 +1,7 @@
package(licenses = ["notice"]) # Apache 2.0
load("//tools/go_generics:defs.bzl", "go_template_instance")
-load("//tools/go_stateify:defs.bzl", "go_library", "go_stateify", "go_test")
+load("//tools/go_stateify:defs.bzl", "go_library", "go_test")
go_template_instance(
name = "waiter_list",
@@ -14,21 +14,10 @@ go_template_instance(
},
)
-go_stateify(
- name = "semaphore_state",
- srcs = [
- "semaphore.go",
- "waiter_list.go",
- ],
- out = "semaphore_autogen_state.go",
- package = "semaphore",
-)
-
go_library(
name = "semaphore",
srcs = [
"semaphore.go",
- "semaphore_autogen_state.go",
"waiter_list.go",
],
importpath = "gvisor.googlesource.com/gvisor/pkg/sentry/kernel/semaphore",
@@ -40,8 +29,6 @@ go_library(
"//pkg/sentry/fs",
"//pkg/sentry/kernel/auth",
"//pkg/sentry/kernel/time",
- "//pkg/state",
- "//pkg/state/statefile",
"//pkg/syserror",
],
)
diff --git a/pkg/sentry/kernel/semaphore/semaphore.go b/pkg/sentry/kernel/semaphore/semaphore.go
index a1ee83ce5..aa07946cf 100644
--- a/pkg/sentry/kernel/semaphore/semaphore.go
+++ b/pkg/sentry/kernel/semaphore/semaphore.go
@@ -42,6 +42,8 @@ const (
)
// Registry maintains a set of semaphores that can be found by key or ID.
+//
+// +stateify savable
type Registry struct {
// userNS owning the ipc name this registry belongs to. Immutable.
userNS *auth.UserNamespace
@@ -52,6 +54,8 @@ type Registry struct {
}
// Set represents a set of semaphores that can be operated atomically.
+//
+// +stateify savable
type Set struct {
// registry owning this sem set. Immutable.
registry *Registry
@@ -79,6 +83,8 @@ type Set struct {
}
// sem represents a single semanphore from a set.
+//
+// +stateify savable
type sem struct {
value int16
waiters waiterList `state:"zerovalue"`
@@ -86,6 +92,8 @@ type sem struct {
// waiter represents a caller that is waiting for the semaphore value to
// become positive or zero.
+//
+// +stateify savable
type waiter struct {
waiterEntry