mirror of
https://github.com/golang/go
synced 2024-10-04 22:31:22 -06:00
51e89f59b2
It allows to catch e.g. a data race between atomic write and non-atomic write, or Mutex.Lock() and mutex overwrite (e.g. mu = Mutex{}). R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6817103
30 lines
719 B
Go
30 lines
719 B
Go
// Copyright 2012 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
|
|
|
|
// Public race detection API, present iff build with -race.
|
|
|
|
package runtime
|
|
|
|
import (
|
|
"unsafe"
|
|
)
|
|
|
|
// RaceDisable disables handling of race events in the current goroutine.
|
|
func RaceDisable()
|
|
|
|
// RaceEnable re-enables handling of race events in the current goroutine.
|
|
func RaceEnable()
|
|
|
|
func RaceAcquire(addr unsafe.Pointer)
|
|
func RaceRelease(addr unsafe.Pointer)
|
|
func RaceReleaseMerge(addr unsafe.Pointer)
|
|
|
|
func RaceRead(addr unsafe.Pointer)
|
|
func RaceWrite(addr unsafe.Pointer)
|
|
|
|
func RaceSemacquire(s *uint32)
|
|
func RaceSemrelease(s *uint32)
|