This repository has been archived by the owner on Mar 26, 2024. It is now read-only.
/
signals.helpers.go
executable file
·87 lines (71 loc) · 2.12 KB
/
signals.helpers.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/*
* Copyright © 2019 Hedzr Yeh.
*/
package sig
import (
"github.com/hedzr/cmdr"
"net"
"os"
)
// IsRunningInDemonizedMode returns true if you are running under demonized mode.
// false means that you're running in normal console/tty mode.
func IsRunningInDemonizedMode() bool {
// return cmdr.GetBoolR(envvarInDaemonized)
// return isDemonized()
return cmdr.GetBoolR("server.start.in-daemon")
}
// SetTermSignals allows an functor to provide a list of Signals
func SetTermSignals(sig func() []os.Signal) {
onSetTermHandler = sig
}
// SetSigEmtSignals allows an functor to provide a list of Signals
func SetSigEmtSignals(sig func() []os.Signal) {
onSetSigEmtHandler = sig
}
// SetReloadSignals allows an functor to provide a list of Signals
func SetReloadSignals(sig func() []os.Signal) {
onSetReloadHandler = sig
}
// SetHotReloadSignals allows an functor to provide a list of Signals
func SetHotReloadSignals(sig func() []os.Signal) {
onSetHotReloadHandler = sig
}
// SetOnGetListener returns tcp/http listener for daemon hot-restarting
func SetOnGetListener(fn func() net.Listener) {
onGetListener = fn
}
// SetSigHandler sets handler for the given signals.
// SIGTERM has the default handler, he returns ErrStop.
func SetSigHandler(handler SignalHandlerFunc, signals ...os.Signal) {
for _, sig := range signals {
handlers[sig] = handler
}
}
// SendNilSig sends the POSIX NUL signal
func SendNilSig(process *os.Process) error {
return nilSigSend(process)
}
// SendHUP sends the POSIX HUP signal
func SendHUP(process *os.Process) error {
return sigSendHUP(process)
}
// SendUSR1 sends the POSIX USR1 signal
func SendUSR1(process *os.Process) error {
return sigSendUSR1(process)
}
// SendUSR2 sends the POSIX USR2 signal
func SendUSR2(process *os.Process) error {
return sigSendUSR2(process)
}
// SendTERM sends the POSIX TERM signal
func SendTERM(process *os.Process) error {
return sigSendTERM(process)
}
// SendQUIT sends the POSIX QUIT signal
func SendQUIT(process *os.Process) error {
return sigSendQUIT(process)
}
// SendKILL sends the POSIX KILL signal
func SendKILL(process *os.Process) error {
return sigSendKILL(process)
}