| // Copyright 2015 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| // +build race |
| |
| 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() |
| } |
| |
| func Read(addr unsafe.Pointer) { |
| runtime.RaceRead(addr) |
| } |
| |
| func Write(addr unsafe.Pointer) { |
| runtime.RaceWrite(addr) |
| } |
| |
| func ReadRange(addr unsafe.Pointer, len int) { |
| runtime.RaceReadRange(addr, len) |
| } |
| |
| func WriteRange(addr unsafe.Pointer, len int) { |
| runtime.RaceWriteRange(addr, len) |
| } |
| |
| func Errors() int { |
| return runtime.RaceErrors() |
| } |