aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/trace
diff options
context:
space:
mode:
authorCuong Manh Le <cuong.manhle.vn@gmail.com>2022-08-17 17:25:33 +0700
committerCuong Manh Le <cuong.manhle.vn@gmail.com>2022-08-17 17:40:14 +0000
commit5e20f2e4dfdfea7deb9ad9e2a9909a32588334a0 (patch)
tree9c5843312079467acdfc38ad6688c20425ed2974 /src/runtime/trace
parentdea67a9b342ff5205e780b2d4e7d7671df301ba2 (diff)
downloadgo-5e20f2e4dfdfea7deb9ad9e2a9909a32588334a0.tar.xz
runtime/trace: convert tracing.enabled to atomic type
Updates #53821 Change-Id: I8a063ae94568cd2ea65c2e891618069a96139891 Reviewed-on: https://go-review.googlesource.com/c/go/+/423884 Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Michael Pratt <mpratt@google.com> Reviewed-by: Keith Randall <khr@google.com> Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Diffstat (limited to 'src/runtime/trace')
-rw-r--r--src/runtime/trace/annotation.go3
-rw-r--r--src/runtime/trace/trace.go8
2 files changed, 5 insertions, 6 deletions
diff --git a/src/runtime/trace/annotation.go b/src/runtime/trace/annotation.go
index 9171633b07..d47cb8573c 100644
--- a/src/runtime/trace/annotation.go
+++ b/src/runtime/trace/annotation.go
@@ -178,8 +178,7 @@ func (r *Region) End() {
// The information is advisory only. The tracing status
// may have changed by the time this function returns.
func IsEnabled() bool {
- enabled := atomic.LoadInt32(&tracing.enabled)
- return enabled == 1
+ return tracing.enabled.Load()
}
//
diff --git a/src/runtime/trace/trace.go b/src/runtime/trace/trace.go
index cf2b6440b2..86c97e2a11 100644
--- a/src/runtime/trace/trace.go
+++ b/src/runtime/trace/trace.go
@@ -134,7 +134,7 @@ func Start(w io.Writer) error {
w.Write(data)
}
}()
- atomic.StoreInt32(&tracing.enabled, 1)
+ tracing.enabled.Store(true)
return nil
}
@@ -143,12 +143,12 @@ func Start(w io.Writer) error {
func Stop() {
tracing.Lock()
defer tracing.Unlock()
- atomic.StoreInt32(&tracing.enabled, 0)
+ tracing.enabled.Store(false)
runtime.StopTrace()
}
var tracing struct {
- sync.Mutex // gate mutators (Start, Stop)
- enabled int32 // accessed via atomic
+ sync.Mutex // gate mutators (Start, Stop)
+ enabled atomic.Bool
}