Change os.signal from syscall.Signal(21) to syscall.SIGINT for Windows
This commit is contained in:
parent
5c774de630
commit
569dbf18ce
@ -186,7 +186,7 @@ func NewMetrics(ctx context.Context, w io.Writer) (context.Context, func()) {
|
||||
// logging rates; that's handled by dumpMetrics().
|
||||
sink = metrics.NewInmemSink(reportInterval, retentionDuration)
|
||||
cfg = metrics.DefaultConfig("corso")
|
||||
sig = metrics.NewInmemSignal(sink, metrics.DefaultSignal, w)
|
||||
sig = metrics.NewInmemSignal(sink, sentSignal, w)
|
||||
)
|
||||
|
||||
cfg.EnableHostname = false
|
||||
|
||||
@ -36,7 +36,7 @@ func (suite *EventsSignalUnitSuite) TestSignalDump() {
|
||||
|
||||
select {
|
||||
case sig := <-sigCh:
|
||||
assert.Equal(t, metrics.DefaultSignal, sig, "received wrong signal")
|
||||
assert.Equal(t, sentSignal, sig, "received wrong signal")
|
||||
|
||||
case <-time.After(1 * time.Second):
|
||||
assert.Fail(t, "timeout waiting for signal")
|
||||
@ -13,6 +13,10 @@ import (
|
||||
"github.com/alcionai/corso/src/pkg/logger"
|
||||
)
|
||||
|
||||
const (
|
||||
sentSignal = metrics.DefaultSignal
|
||||
)
|
||||
|
||||
func signalDump(ctx context.Context) {
|
||||
if err := unix.Kill(syscall.Getpid(), metrics.DefaultSignal); err != nil {
|
||||
logger.CtxErr(ctx, err).Error("metrics interval signal")
|
||||
|
||||
@ -7,6 +7,12 @@ import (
|
||||
"golang.org/x/sys/windows"
|
||||
)
|
||||
|
||||
const (
|
||||
// On Windows, ctrl-break event appears as os.Interrupt(syscall.SIGINT)
|
||||
//https://pkg.go.dev/os/signal#hdr-Windows
|
||||
sentSignal = os.Interrupt
|
||||
)
|
||||
|
||||
func signalDump(ctx context.Context) {
|
||||
err := windows.GenerateConsoleCtrlEvent(syscall.CTRL_BREAK_EVENT, uint32(syscall.Getpid()))
|
||||
if err != nil {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user