mirror of https://github.com/golang/go.git
This test was introduced in CL 18882, but only recently enabled as of CL 493603. It's intended to check that we don't move executing C code between threads when it re-enters Go, but it has always contained a flake. Go *can* preempt between the Go call to gettid and the C call to gettid and move the goroutine to another thread because there's no C code on the stack during the Go call to gettid. This will cause the test to fail. Fix this by making both gettid calls in C, with a re-entry to Go between them. Fixes #60265 Change-Id: I546621a541ce52b996d68b17d3bed709d2b5b1f3 Reviewed-on: https://go-review.googlesource.com/c/go/+/496182 Auto-Submit: Austin Clements <austin@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Michael Knyszek <mknyszek@google.com> Reviewed-by: Bryan Mills <bcmills@google.com> Run-TryBot: Austin Clements <austin@google.com> |
||
|---|---|---|
| .. | ||
| swig | ||
| test | ||
| testcarchive | ||
| testcshared | ||
| testerrors | ||
| testfortran | ||
| testgodefs | ||
| testlife | ||
| testnocgo | ||
| testplugin | ||
| testsanitizers | ||
| testshared | ||
| testso | ||
| testsovar | ||
| teststdio | ||
| testtls | ||