- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 29 for rlocked (0.22 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/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/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) -
src/internal/trace/testdata/generators/go122-syscall-steal-proc-sitting-in-syscall.go
g := t.Generation(1) // Steal proc from a goroutine that's been blocked // in a syscall the entire generation. b0 := g.Batch(trace.ThreadID(0), 0) b0.Event("ProcStatus", trace.ProcID(0), go122.ProcSyscallAbandoned) b0.Event("ProcSteal", trace.ProcID(0), testgen.Seq(1), trace.ThreadID(1)) // Status event for a goroutine blocked in a syscall for the entire generation. bz := g.Batch(trace.NoThread, 0)
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri May 24 21:15:28 UTC 2024 - 946 bytes - Viewed (0) -
src/cmd/trace/jsontrace_test.go
return parts[1] } // filterBlocked returns an event filter that returns true if the event's // "blocked" argument is equal to blocked. func filterBlocked(blocked string) eventFilterFn { return func(e *format.Event, _ *format.Data) bool { m, ok := e.Arg.(map[string]any) if !ok { return false } return m["blocked"] == blocked } } // filterStackRootFunc returns an event filter that returns true if the function
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri May 17 18:48:18 UTC 2024 - 7.8K bytes - Viewed (0)