- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 169 for lockedm (0.3 sec)
-
src/runtime/debugcall.go
// Transfer locked-ness to the new goroutine. // Save lock state to restore later. mp := gp.m if mp != gp.lockedm.ptr() { throw("inconsistent lockedm") } // Save the external lock count and clear it so // that it can't be unlocked from the debug call. // Note: we already locked internally to the thread, // so if we were locked before we're still locked now.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Apr 05 20:50:21 UTC 2024 - 7.1K 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/runtime/export_debug_test.go
// will send SIGTRAP to thread ID tid. gp must be locked to its OS thread and // running. // // On success, InjectDebugCall returns the panic value of fn or nil. // If fn did not panic, its results will be available in args. func InjectDebugCall(gp *g, fn any, regArgs *abi.RegArgs, stackArgs any, tkill func(tid int) error, returnOnUnsafePoint bool) (any, error) { if gp.lockedm == 0 { return nil, plainError("goroutine not locked to thread")
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri May 17 15:41:45 UTC 2024 - 5.1K bytes - Viewed (0) -
internal/lsync/lrwmutex_test.go
wl := NewLRWMutex() var rl sync.Locker wlocked := make(chan bool, 1) rlocked := make(chan bool, 1) rl = wl.DRLocker() n := 10 go func() { for i := 0; i < n; i++ { rl.Lock() rl.Lock() rlocked <- true wl.Lock() wlocked <- true } }() for i := 0; i < n; i++ { <-rlocked rl.Unlock() select { case <-wlocked: t.Fatal("RLocker() didn't read-lock it")
Registered: Sun Jun 16 00:44:34 UTC 2024 - Last Modified: Sun Mar 05 04:57:35 UTC 2023 - 7.9K bytes - Viewed (0) -
src/runtime/lock_sema.go
break } v = atomic.Loaduintptr(&l.key) if v&locked == 0 { continue Loop } } if v&locked != 0 { // Queued. Wait. semasleep(-1) i = 0 } } } } func unlock(l *mutex) { unlockWithRank(l) } // We might not be holding a p in this code. // //go:nowritebarrier func unlock2(l *mutex) { gp := getg() var mp *m
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu May 30 17:57:37 UTC 2024 - 6.8K bytes - Viewed (0) -
internal/dsync/drwmutex_test.go
expected := true if locked != expected { t.Errorf("TestSimpleWriteLockAcquired(): \nexpected %#v\ngot %#v", expected, locked) } } func TestSimpleWriteLockTimedOut(t *testing.T) { locked := testSimpleWriteLock(t, testDrwMutexAcquireTimeout) expected := false if locked != expected { t.Errorf("TestSimpleWriteLockTimedOut(): \nexpected %#v\ngot %#v", expected, locked) } }
Registered: Sun Jun 16 00:44:34 UTC 2024 - Last Modified: Sat Dec 24 03:49:07 UTC 2022 - 9.7K bytes - Viewed (0) -
internal/lock/lock_test.go
} // blocking on locked file locked := make(chan struct{}, 1) go func() { bl, blerr := LockedOpenFile(f.Name(), os.O_WRONLY, 0o600) if blerr != nil { t.Error(blerr) return } locked <- struct{}{} if blerr = bl.Close(); blerr != nil { t.Error(blerr) return } }() select { case <-locked: t.Error("unexpected unblocking")
Registered: Sun Jun 16 00:44:34 UTC 2024 - Last Modified: Mon Sep 19 18:05:16 UTC 2022 - 3.6K 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) -
src/sync/rwmutex.go
race.Acquire(unsafe.Pointer(&rw.writerSem)) } return true } // Unlock unlocks rw for writing. It is a run-time error if rw is // not locked for writing on entry to Unlock. // // As with Mutexes, a locked [RWMutex] is not associated with a particular // goroutine. One goroutine may [RWMutex.RLock] ([RWMutex.Lock]) a RWMutex and then
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/cmd/go/internal/lockedfile/lockedfile_test.go
}) // Wait until process Q has either failed or locked file B. // Otherwise, P.2 might not block on file B as intended. locked: for { if _, err := os.Stat(filepath.Join(dir, "locked")); !os.IsNotExist(err) { break locked } timer := time.NewTimer(1 * time.Millisecond) select { case <-qDone: timer.Stop() break locked case <-timer.C: } }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Sep 05 23:35:29 UTC 2023 - 5.7K bytes - Viewed (0)