- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 23 for racereleaseg (0.31 sec)
-
src/runtime/race.go
// In terms of the C memory model, RaceRelease is equivalent to // atomic_store(memory_order_release). // //go:nosplit func RaceRelease(addr unsafe.Pointer) { racerelease(addr) } // RaceReleaseMerge is like RaceRelease, but also establishes a happens-before // relation with the preceding RaceRelease or RaceReleaseMerge on addr. // // In terms of the C memory model, RaceReleaseMerge is equivalent to // atomic_exchange(memory_order_release). //
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri May 17 18:37:29 UTC 2024 - 20.4K bytes - Viewed (0) -
src/runtime/chan.go
// those addresses, and we don't want them racing with // operations like close(). return unsafe.Pointer(&c.buf) } func racesync(c *hchan, sg *sudog) { racerelease(chanbuf(c, 0)) raceacquireg(sg.g, chanbuf(c, 0)) racereleaseg(sg.g, chanbuf(c, 0)) raceacquire(chanbuf(c, 0)) } // Notify the race detector of a send or receive involving buffer entry idx // and a channel c or its communicating partner sg.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu May 23 01:16:50 UTC 2024 - 25.9K bytes - Viewed (0) -
src/runtime/trace.go
tl.Gomaxprocs(gomaxprocs) traceRelease(tl) } // Emit a GCActive event in the new generation if necessary. // // It's important that we do this before allowing stop-the-worlds again, // because that could emit global GC-related events. if !stopTrace && (gcphase == _GCmark || gcphase == _GCmarktermination) { tl := traceAcquire() tl.GCActive() traceRelease(tl) }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 22 21:17:41 UTC 2024 - 37.1K bytes - Viewed (0) -
src/internal/race/race.go
package race import ( "runtime" "unsafe" ) const Enabled = true func Acquire(addr unsafe.Pointer) { runtime.RaceAcquire(addr) } func Release(addr unsafe.Pointer) { runtime.RaceRelease(addr) } func ReleaseMerge(addr unsafe.Pointer) { runtime.RaceReleaseMerge(addr) } func Disable() { runtime.RaceDisable() } func Enable() { runtime.RaceEnable() }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Oct 19 23:33:27 UTC 2023 - 881 bytes - Viewed (0) -
src/runtime/debugcall.go
trace.GoSched() } casgstatus(gp, _Grunning, _Grunnable) if trace.ok() { traceRelease(trace) } dropg() lock(&sched.lock) globrunqput(gp) unlock(&sched.lock) trace = traceAcquire() casgstatus(callingG, _Gwaiting, _Grunnable) if trace.ok() { trace.GoUnpark(callingG, 0) traceRelease(trace) } execute(callingG, true) }) }
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/proflabel.go
// This would more properly use &getg().labels as the sync address, // but we do the read in a signal handler and can't call the race runtime then. // // This uses racereleasemerge rather than just racerelease so // the acquire in profBuf.read synchronizes with *all* prior // setProfLabel operations, not just the most recent one. This // is important because profBuf.read will observe different
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 29 16:25:21 UTC 2024 - 2.1K bytes - Viewed (0) -
src/runtime/mcentral.go
trace.GCSweepDone() traceDone = true traceRelease(trace) } // We failed to get a span from the mcentral so get one from mheap. s = c.grow() if s == nil { return nil } // At this point s is a span that should have free slots. havespan: if !traceDone { trace := traceAcquire() if trace.ok() { trace.GCSweepDone() traceRelease(trace) } }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 25 19:53:03 UTC 2024 - 8.1K bytes - Viewed (0) -
src/runtime/traceruntime.go
// //go:nosplit func (tl traceLocker) ok() bool { return tl.gen != 0 } // traceRelease indicates that this M is done writing trace events. // // nosplit because it's called on the syscall path when stack movement is forbidden. // //go:nosplit func traceRelease(tl traceLocker) { seq := tl.mp.trace.seqlock.Add(1) if debugTraceReentrancy && seq%2 != 0 {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 22 22:31:00 UTC 2024 - 25.7K bytes - Viewed (0) -
src/runtime/proc.go
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 29 17:58:53 UTC 2024 - 207.5K bytes - Viewed (0) -
src/runtime/tracecpu.go
// reads to avoid frequent wakeups. trace.cpuSleep.sleep(100_000_000) tl := traceAcquire() if !tl.ok() { // Tracing disabled. break } keepGoing := traceReadCPU(tl.gen) traceRelease(tl) if !keepGoing { break } } done <- struct{}{} }() trace.cpuLogDone = done } // traceStopReadCPU blocks until the trace CPU reading goroutine exits. //
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Apr 15 17:03:35 UTC 2024 - 8.7K bytes - Viewed (0)