go signal 源码

  • 2022-07-15
  • 浏览 (836)

golang signal 代码

文件路径:/src/runtime/testdata/testprog/signal.go

// Copyright 2015 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 !windows && !plan9
// +build !windows,!plan9

package main

import (
	"syscall"
	"time"
)

func init() {
	register("SignalExitStatus", SignalExitStatus)
}

func SignalExitStatus() {
	syscall.Kill(syscall.Getpid(), syscall.SIGTERM)

	// Should die immediately, but we've seen flakiness on various
	// systems (see issue 14063). It's possible that the signal is
	// being delivered to a different thread and we are returning
	// and exiting before that thread runs again. Give the program
	// a little while to die to make sure we pick up the signal
	// before we return and exit the program. The time here
	// shouldn't matter--we'll never really sleep this long.
	time.Sleep(time.Second)
}

相关信息

go 源码目录

相关文章

go abort 源码

go badtraceback 源码

go checkptr 源码

go crash 源码

go crashdump 源码

go deadlock 源码

go gc 源码

go lockosthread 源码

go main 源码

go map 源码

0  赞