Beispiel #1
0
func StoreUintptr(addr *uintptr, val uintptr) {
	runtime.RaceSemacquire(&mtx)
	runtime.RaceRead(unsafe.Pointer(addr))
	*addr = val
	runtime.RaceRelease(unsafe.Pointer(addr))
	runtime.RaceSemrelease(&mtx)
}
Beispiel #2
0
func StorePointer(addr *unsafe.Pointer, val unsafe.Pointer) {
	_ = *addr
	runtime.RaceSemacquire(&mtx)
	runtime.RaceRead(unsafe.Pointer(addr))
	*addr = val
	runtime.RaceRelease(unsafe.Pointer(addr))
	runtime.RaceSemrelease(&mtx)
}
Beispiel #3
0
func Release(addr unsafe.Pointer) {
	runtime.RaceRelease(addr)
}
Beispiel #4
0
Datei: race.go Projekt: hfeeki/go
func StoreUint64(addr *uint64, val uint64) {
	runtime.RaceSemacquire(&mtx)
	*addr = val
	runtime.RaceRelease(unsafe.Pointer(addr))
	runtime.RaceSemrelease(&mtx)
}