diff options
| author | 2025-04-07 11:04:45 +0100 | |
|---|---|---|
| committer | 2025-04-07 11:04:45 +0100 | |
| commit | 4232d617823bff8905672b86748adb2b2461fa9a (patch) | |
| tree | f808576c83daba93d43c6fb19d7291a40e462b32 /vendor/codeberg.org/gruf/go-mutexes/map.go | |
| parent | [chore]: Bump codeberg.org/gruf/go-structr from 0.9.0 to 0.9.6 (#3973) (diff) | |
| download | gotosocial-4232d617823bff8905672b86748adb2b2461fa9a.tar.xz | |
[chore]: Bump codeberg.org/gruf/go-mutexes from 1.5.1 to 1.5.2 (#3976)
Bumps codeberg.org/gruf/go-mutexes from 1.5.1 to 1.5.2.
---
updated-dependencies:
- dependency-name: codeberg.org/gruf/go-mutexes
dependency-version: 1.5.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Diffstat (limited to 'vendor/codeberg.org/gruf/go-mutexes/map.go')
| -rw-r--r-- | vendor/codeberg.org/gruf/go-mutexes/map.go | 28 |
1 files changed, 2 insertions, 26 deletions
diff --git a/vendor/codeberg.org/gruf/go-mutexes/map.go b/vendor/codeberg.org/gruf/go-mutexes/map.go index 4b721cec4..2f21ae0bb 100644 --- a/vendor/codeberg.org/gruf/go-mutexes/map.go +++ b/vendor/codeberg.org/gruf/go-mutexes/map.go @@ -2,7 +2,6 @@ package mutexes import ( "sync" - "sync/atomic" "unsafe" "codeberg.org/gruf/go-mempool" @@ -185,34 +184,11 @@ func (mu *rwmutex) Unlock() bool { // Fully unlocked. mu.t = 0 - // 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 - } - // Awake all blocked goroutines and check // for change in the last notified ticket. - cptr := (*syncCond)(unsafe.Pointer(&mu.c)) - before := atomic.LoadUint32(&cptr.n.notify) + before := syncCond_last_ticket(&mu.c) mu.c.Broadcast() // awakes all blocked! - after := atomic.LoadUint32(&cptr.n.notify) + after := syncCond_last_ticket(&mu.c) // If ticket changed, this indicates // AT LEAST one goroutine was awoken. |
