github.com/SandwichDev/go-internals@v0.0.0-20210605002614-12311ac6b2c5/race/race.go (about) 1 // Copyright 2015 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // +build race 6 7 package race 8 9 import ( 10 "runtime" 11 "unsafe" 12 ) 13 14 const Enabled = true 15 16 func Acquire(addr unsafe.Pointer) { 17 runtime.RaceAcquire(addr) 18 } 19 20 func Release(addr unsafe.Pointer) { 21 runtime.RaceRelease(addr) 22 } 23 24 func ReleaseMerge(addr unsafe.Pointer) { 25 runtime.RaceReleaseMerge(addr) 26 } 27 28 func Disable() { 29 runtime.RaceDisable() 30 } 31 32 func Enable() { 33 runtime.RaceEnable() 34 } 35 36 func Read(addr unsafe.Pointer) { 37 runtime.RaceRead(addr) 38 } 39 40 func Write(addr unsafe.Pointer) { 41 runtime.RaceWrite(addr) 42 } 43 44 func ReadRange(addr unsafe.Pointer, len int) { 45 runtime.RaceReadRange(addr, len) 46 } 47 48 func WriteRange(addr unsafe.Pointer, len int) { 49 runtime.RaceWriteRange(addr, len) 50 } 51 52 func Errors() int { 53 return runtime.RaceErrors() 54 }