summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org/gruf/go-errors/v2/once.go
diff options
context:
space:
mode:
authorLibravatar Terin Stock <terinjokes@gmail.com>2025-03-09 17:47:56 +0100
committerLibravatar Terin Stock <terinjokes@gmail.com>2025-03-10 01:59:49 +0100
commit3ac1ee16f377d31a0fb80c8dae28b6239ac4229e (patch)
treef61faa581feaaeaba2542b9f2b8234a590684413 /vendor/codeberg.org/gruf/go-errors/v2/once.go
parent[chore] update URLs to forked source (diff)
downloadgotosocial-3ac1ee16f377d31a0fb80c8dae28b6239ac4229e.tar.xz
[chore] remove vendor
Diffstat (limited to 'vendor/codeberg.org/gruf/go-errors/v2/once.go')
-rw-r--r--vendor/codeberg.org/gruf/go-errors/v2/once.go31
1 files changed, 0 insertions, 31 deletions
diff --git a/vendor/codeberg.org/gruf/go-errors/v2/once.go b/vendor/codeberg.org/gruf/go-errors/v2/once.go
deleted file mode 100644
index 467fe726d..000000000
--- a/vendor/codeberg.org/gruf/go-errors/v2/once.go
+++ /dev/null
@@ -1,31 +0,0 @@
-package errors
-
-import (
- "sync/atomic"
-)
-
-// OnceError is an error structure that supports safe multi
-// threaded usage and setting only once (until reset).
-type OnceError struct{ ptr atomic.Pointer[error] }
-
-// Store will safely set the OnceError to value, no-op if nil.
-func (e *OnceError) Store(err error) bool {
- if err == nil {
- return false
- }
- return e.ptr.CompareAndSwap(nil, &err)
-}
-
-// Load will load the currently stored error.
-func (e *OnceError) Load() error {
- if ptr := e.ptr.Load(); ptr != nil {
- return *ptr
- }
- return nil
-}
-
-// IsSet returns whether OnceError has been set.
-func (e *OnceError) IsSet() bool { return (e.ptr.Load() != nil) }
-
-// Reset will reset the OnceError value.
-func (e *OnceError) Reset() { e.ptr.Store(nil) }