mirror of
https://github.com/golang/go
synced 2024-11-17 22:05:02 -07:00
d11c58eedb
On Linux a signal sent using tgkill will have si_code == SI_TKILL, not SI_USER. Treat the two cases the same. Add a Linux-specific test. Change the test to use the C pause function rather than sleeping for a second, as that achieves the same effect. This is a roll forward of CL 431255 which was rolled back in CL 431715. This new version skips flaky tests on more systems, and marks a new method nosplit. Change-Id: Ibf2d3e6fc43d63d0a71afa8fcca6a11fda03f291 Reviewed-on: https://go-review.googlesource.com/c/go/+/432136 Auto-Submit: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com> Reviewed-by: Michael Pratt <mpratt@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
16 lines
374 B
Go
16 lines
374 B
Go
// Copyright 2022 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.
|
|
|
|
//go:build unix && !linux
|
|
|
|
package runtime
|
|
|
|
// sigFromUser reports whether the signal was sent because of a call
|
|
// to kill.
|
|
//
|
|
//go:nosplit
|
|
func (c *sigctxt) sigFromUser() bool {
|
|
return c.sigcode() == _SI_USER
|
|
}
|