- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 77 for rlocked (0.27 sec)
-
src/sync/rwmutex.go
return r < 0 && r+rwmutexMaxReaders > 0 } // RLocker returns a [Locker] interface that implements // the [RWMutex.Lock] and [RWMutex.Unlock] methods by calling rw.RLock and rw.RUnlock. func (rw *RWMutex) RLocker() Locker { return (*rlocker)(rw) } type rlocker RWMutex func (r *rlocker) Lock() { (*RWMutex)(r).RLock() }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Jun 07 21:14:51 UTC 2024 - 7.2K bytes - Viewed (0) -
src/runtime/lock_sema.go
for semasleep(ns) < 0 { asmcgocall(*cgo_yield, nil) } } gp.m.blocked = false return true } deadline = nanotime() + ns for { // Registered. Sleep. gp.m.blocked = true if *cgo_yield != nil && ns > 10e6 { ns = 10e6 } if semasleep(ns) >= 0 { gp.m.blocked = false // Acquired semaphore, semawakeup unregistered us. // Done. return true }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu May 30 17:57:37 UTC 2024 - 6.8K bytes - Viewed (0) -
src/runtime/coro.go
casgstatus(gnext, _Gwaiting, _Grunnable) casgstatus(gnext, _Grunnable, _Grunning) } // Donate locked state. if locked { mp.lockedg.set(gnext) gnext.lockedm.set(mp) } // Release the trace locker. We've completed all the necessary transitions.. if trace.ok() { traceRelease(trace) } // Switch to gnext. Does not return. gogo(&gnext.sched)
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Jun 07 19:09:18 UTC 2024 - 7.4K bytes - Viewed (0) -
src/sync/mutex.go
// relation at all. // // [the Go memory model]: https://go.dev/ref/mem type Mutex struct { state int32 sema uint32 } // A Locker represents an object that can be locked and unlocked. type Locker interface { Lock() Unlock() } const ( mutexLocked = 1 << iota // mutex is locked mutexWoken mutexStarving mutexWaiterShift = iota // Mutex fairness. //
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Jun 07 21:14:51 UTC 2024 - 8.4K bytes - Viewed (0) -
internal/grid/muxserver.go
default: atomic.StoreInt64(&m.LastPing, time.Now().Unix()) return pongMsg{} } } // disconnect will disconnect the mux. // m.recvMu must be locked when calling this function. func (m *muxServer) disconnect(msg string, locked bool) { if debugPrint { fmt.Println("Mux", m.ID, "disconnecting. Reason:", msg) } if msg != "" {
Registered: Sun Jun 16 00:44:34 UTC 2024 - Last Modified: Fri Jun 07 15:51:52 UTC 2024 - 9.7K bytes - Viewed (0) -
src/runtime/rwmutex.go
// while sleeping. acquireLockRankAndM(rw.readRank) lockWithRankMayAcquire(&rw.rLock, getLockRank(&rw.rLock)) if rw.readerCount.Add(1) < 0 { // A writer is pending. Park on the reader queue. systemstack(func() { lock(&rw.rLock) if rw.readerPass > 0 { // Writer finished. rw.readerPass -= 1 unlock(&rw.rLock) } else { // Queue this reader to be woken by // the writer. m := getg().m
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Apr 22 14:29:04 UTC 2024 - 5K bytes - Viewed (0) -
src/runtime/lock_futex.go
// Sleep for an arbitrary-but-moderate interval to poll libc interceptors. ns = 10e6 } for atomic.Load(key32(&n.key)) == 0 { gp.m.blocked = true futexsleep(key32(&n.key), 0, ns) if *cgo_yield != nil { asmcgocall(*cgo_yield, nil) } gp.m.blocked = false } } // May run with m.p==nil if called from notetsleep, so write barriers // are not allowed. // //go:nosplit
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu May 30 17:57:34 UTC 2024 - 5.4K bytes - Viewed (0) -
src/internal/runtime/exithook/hooks.go
} var ( locked atomic.Int32 runGoid atomic.Uint64 hooks []Hook running bool // runtime sets these for us Gosched func() Goid func() uint64 Throw func(string) ) // Add adds a new exit hook. func Add(h Hook) { for !locked.CompareAndSwap(0, 1) { Gosched() } hooks = append(hooks, h) locked.Store(0) } // Run runs the exit hooks. //
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri May 24 16:41:13 UTC 2024 - 2.2K bytes - Viewed (0) -
src/runtime/testdata/testprog/lockosthread.go
os.Exit(1) } // Exit with the thread locked, which should exit the // main thread. ready <- true }() <-ready time.Sleep(1 * time.Millisecond) // Check that this goroutine is still running on a different // thread. if mainTID != 0 && gettid() == mainTID { println("goroutine migrated to locked thread") os.Exit(1) } println("OK") } func LockOSThreadAlt() {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Mar 21 20:00:09 UTC 2024 - 6.6K bytes - Viewed (0) -
src/internal/trace/testdata/testprog/stress.go
// blocked goroutines, LockOSThread, pipes, and GOMAXPROCS). //go:build ignore package main import ( "log" "net" "os" "runtime" "runtime/trace" "sync" "time" ) func main() { var wg sync.WaitGroup done := make(chan bool) // Create a goroutine blocked before tracing. wg.Add(1) go func() { <-done wg.Done()
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri May 17 18:48:18 UTC 2024 - 2.5K bytes - Viewed (0)