Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 10 for RaceRelease (0.32 sec)

  1. 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)
  2. 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)
  3. src/runtime/race0.go

    func raceacquireg(gp *g, addr unsafe.Pointer)                               { throw("race") }
    func raceacquirectx(racectx uintptr, addr unsafe.Pointer)                   { throw("race") }
    func racerelease(addr unsafe.Pointer)                                       { throw("race") }
    func racereleaseg(gp *g, addr unsafe.Pointer)                               { throw("race") }
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 28 18:17:57 UTC 2021
    - 2.8K bytes
    - Viewed (0)
  4. 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)
  5. src/runtime/trace.go

    				if raceenabled {
    					// Model synchronization on trace.doneSema, which te race
    					// detector does not see. This is required to avoid false
    					// race reports on writer passed to trace.Start.
    					racerelease(unsafe.Pointer(&trace.doneSema[gen%2]))
    				}
    				semrelease(&trace.doneSema[gen%2])
    
    				// We're shutting down, and the last generation is fully
    				// read. We're done.
    				return nil, false
    			}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 21:17:41 UTC 2024
    - 37.1K bytes
    - Viewed (0)
  6. src/runtime/chan.go

    		unlock(&c.lock)
    		panic(plainError("close of closed channel"))
    	}
    
    	if raceenabled {
    		callerpc := getcallerpc()
    		racewritepc(c.raceaddr(), callerpc, abi.FuncPCABIInternal(closechan))
    		racerelease(c.raceaddr())
    	}
    
    	c.closed = 1
    
    	var glist gList
    
    	// release all readers
    	for {
    		sg := c.recvq.dequeue()
    		if sg == nil {
    			break
    		}
    		if sg.elem != nil {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 01:16:50 UTC 2024
    - 25.9K bytes
    - Viewed (0)
  7. src/runtime/type.go

    }
    
    func reflectOffsLock() {
    	lock(&reflectOffs.lock)
    	if raceenabled {
    		raceacquire(unsafe.Pointer(&reflectOffs.lock))
    	}
    }
    
    func reflectOffsUnlock() {
    	if raceenabled {
    		racerelease(unsafe.Pointer(&reflectOffs.lock))
    	}
    	unlock(&reflectOffs.lock)
    }
    
    // resolveNameOff should be an internal detail,
    // but widely used packages access it using linkname.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 01:17:26 UTC 2024
    - 12.7K bytes
    - Viewed (0)
  8. src/runtime/syscall_windows.go

    	// until then.
    	if raceenabled && mainStarted {
    		raceacquire(unsafe.Pointer(&cbs.lock))
    	}
    }
    
    func cbsUnlock() {
    	if raceenabled && mainStarted {
    		racerelease(unsafe.Pointer(&cbs.lock))
    	}
    	unlock(&cbs.lock)
    }
    
    // winCallback records information about a registered Go callback.
    type winCallback struct {
    	fn     *funcval // Go function
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 20:12:46 UTC 2024
    - 16.6K bytes
    - Viewed (0)
  9. src/runtime/metrics.go

    	semacquire1(&metricsSema, true, 0, 0, waitReasonSemacquire)
    	if raceenabled {
    		raceacquire(unsafe.Pointer(&metricsSema))
    	}
    }
    
    func metricsUnlock() {
    	if raceenabled {
    		racerelease(unsafe.Pointer(&metricsSema))
    	}
    	semrelease(&metricsSema)
    }
    
    // initMetrics initializes the metrics map if it hasn't been yet.
    //
    // metricsSema must be held.
    func initMetrics() {
    	if metricsInit {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 08 21:03:13 UTC 2024
    - 26K bytes
    - Viewed (0)
  10. src/runtime/time.go

    //go:linkname newTimer time.newTimer
    func newTimer(when, period int64, f func(arg any, seq uintptr, delay int64), arg any, c *hchan) *timeTimer {
    	t := new(timeTimer)
    	t.timer.init(nil, nil)
    	t.trace("new")
    	if raceenabled {
    		racerelease(unsafe.Pointer(&t.timer))
    	}
    	if c != nil {
    		lockInit(&t.sendLock, lockRankTimerSend)
    		t.isChan = true
    		c.timer = &t.timer
    		if c.dataqsiz == 0 {
    			throw("invalid timer channel: no capacity")
    		}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Mar 29 14:36:24 UTC 2024
    - 37.5K bytes
    - Viewed (0)
Back to top