diff options
| author | Andreas Hindborg <a.hindborg@kernel.org> | 2025-09-24 14:39:24 +0200 |
|---|---|---|
| committer | Daniel Gomez <da.gomez@kernel.org> | 2025-11-03 14:40:35 +0100 |
| commit | 821fe7bf16c57d690f4f92997f4e51abb93e0347 (patch) | |
| tree | 1c9e29562eabdeb4f93a1fec1d49f8fde4e5e5fe /rust/kernel/sync.rs | |
| parent | dcb6fa37fd7bc9c3d2b066329b0d27dedf8becaa (diff) | |
rust: sync: add `SetOnce`
Introduce the `SetOnce` type, a container that can only be written once.
The container uses an internal atomic to synchronize writes to the internal
value.
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Benno Lossin <lossin@kernel.org>
Signed-off-by: Andreas Hindborg <a.hindborg@kernel.org>
Tested-by: Daniel Gomez <da.gomez@samsung.com>
Signed-off-by: Daniel Gomez <da.gomez@kernel.org>
Diffstat (limited to 'rust/kernel/sync.rs')
| -rw-r--r-- | rust/kernel/sync.rs | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/rust/kernel/sync.rs b/rust/kernel/sync.rs index cf5b638a097d..3f957ad3a9f0 100644 --- a/rust/kernel/sync.rs +++ b/rust/kernel/sync.rs @@ -20,6 +20,7 @@ mod locked_by; pub mod poll; pub mod rcu; mod refcount; +mod set_once; pub use arc::{Arc, ArcBorrow, UniqueArc}; pub use completion::Completion; @@ -29,6 +30,7 @@ pub use lock::mutex::{new_mutex, Mutex, MutexGuard}; pub use lock::spinlock::{new_spinlock, SpinLock, SpinLockGuard}; pub use locked_by::LockedBy; pub use refcount::Refcount; +pub use set_once::SetOnce; /// Represents a lockdep class. It's a wrapper around C's `lock_class_key`. #[repr(transparent)] |
