summaryrefslogtreecommitdiffhomepage
path: root/pkg/goid/goid_race.go
diff options
context:
space:
mode:
authorIan Gudger <igudger@google.com>2020-01-10 13:33:12 -0800
committergVisor bot <gvisor-bot@google.com>2020-01-10 13:34:48 -0800
commit6b83111499e9a8f42b6aa3998839922ba70eefdc (patch)
tree39f0a625314eea198ffb8768974239d1dd532211 /pkg/goid/goid_race.go
parentdacd349d6fb4fc7453b1fbf694158fd25496ed42 (diff)
goid: new package
Allows retrieving the goroutine ID for concurrency testing when the race detector is enabled. Updates #1472 PiperOrigin-RevId: 289155308
Diffstat (limited to 'pkg/goid/goid_race.go')
-rw-r--r--pkg/goid/goid_race.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/pkg/goid/goid_race.go b/pkg/goid/goid_race.go
new file mode 100644
index 000000000..1766beaee
--- /dev/null
+++ b/pkg/goid/goid_race.go
@@ -0,0 +1,25 @@
+// Copyright 2020 The gVisor Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Only available in race/gotsan builds.
+// +build race
+
+// Package goid provides access to the ID of the current goroutine in
+// race/gotsan builds.
+package goid
+
+// Get returns the ID of the current goroutine.
+func Get() int64 {
+ return goid()
+}