Commit 0ec59e4c authored by Ian Lance Taylor's avatar Ian Lance Taylor

runtime: sleep longer in dieFromSignal on Darwin

Fixes #20315

Change-Id: I5d5c82f10902b59168fc0cca0af50286843df55d
Reviewed-on: https://go-review.googlesource.com/82375
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
parent 70f441bc
......@@ -432,6 +432,14 @@ func dieFromSignal(sig uint32) {
osyield()
osyield()
// On Darwin we may still fail to die, because raise sends the
// signal to the whole process rather than just the current thread,
// and osyield just sleeps briefly rather than letting all other
// threads run. See issue 20315. Sleep longer.
if GOOS == "darwin" {
usleep(100)
}
// If we are still somehow running, just exit with the wrong status.
exit(2)
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment