summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org/gruf/go-mutexes/map_unsafe.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/codeberg.org/gruf/go-mutexes/map_unsafe.go')
-rw-r--r--vendor/codeberg.org/gruf/go-mutexes/map_unsafe.go41
1 files changed, 0 insertions, 41 deletions
diff --git a/vendor/codeberg.org/gruf/go-mutexes/map_unsafe.go b/vendor/codeberg.org/gruf/go-mutexes/map_unsafe.go
deleted file mode 100644
index 829b2597f..000000000
--- a/vendor/codeberg.org/gruf/go-mutexes/map_unsafe.go
+++ /dev/null
@@ -1,41 +0,0 @@
-//go:build go1.22 && !go1.26
-
-package mutexes
-
-import (
- "sync"
- "sync/atomic"
- "unsafe"
-)
-
-// syncCond_last_ticket is an unsafe function that returns
-// the ticket of the last awoken / notified goroutine by a
-// a sync.Cond{}. it relies on expected memory layout.
-func syncCond_last_ticket(c *sync.Cond) uint32 {
-
- // NOTE: must remain in
- // sync with runtime.notifyList{}.
- //
- // goexperiment.staticlockranking
- // does change it slightly, but
- // this does not alter the first
- // 2 fields which are all we need.
- type notifyList struct {
- _ uint32
- notify uint32
- // ... other fields
- }
-
- // NOTE: must remain in
- // sync with sync.Cond{}.
- type syncCond struct {
- _ struct{}
- L sync.Locker
- n notifyList
- // ... other fields
- }
-
- // This field must be atomcially accessed.
- cptr := (*syncCond)(unsafe.Pointer(c))
- return atomic.LoadUint32(&cptr.n.notify)
-}