interrupt

package
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 21, 2022 License: Unlicense, ISC Imports: 11 Imported by: 1

README

interrupt

Handle shutdowns cleanly and enable hot reload

Based on the shutdown handling code in btcwallet.

As such the ISC license applies to this code.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Restart bool // = true

	// ShutdownRequestChan is a channel that can receive shutdown requests
	ShutdownRequestChan = make(chan struct{})

	// HandlersDone is closed after all interrupt handlers run the first
	// time an interrupt is signaled.
	HandlersDone = make(chan struct{})
)

Functions

func AddHandler

func AddHandler(handler func())

AddHandler adds a handler to call when a SIGINT (Ctrl+C) is received.

func GoroutineDump

func GoroutineDump() string

GoroutineDump returns a string with the current goroutine dump in order to show what's going on in case of timeout.

func Listener

func Listener()

Listener listens for interrupt signals, registers interrupt callbacks, and responds to custom shutdown signals as required

func Request

func Request()

Request programmatically requests a shutdown

func RequestRestart

func RequestRestart()

RequestRestart sets the reset flag and requests a restart

func Requested

func Requested() bool

Requested returns true if an interrupt has been requested

Types

type HandlerWithSource

type HandlerWithSource struct {
	Source string
	Fn     func()
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL