micro: Rearrange signal creation (#4027)

Otherwise we can't properly react upon screen events or signals created
within early plugin functions.
This commit is contained in:
Jöran Karl
2026-03-17 20:45:10 +01:00
committed by GitHub
parent 42d0ddf73d
commit 6760768b9e

View File

@@ -363,6 +363,12 @@ func main() {
fmt.Println("Fatal: Micro could not initialize a Screen.")
exit(1)
}
util.Sigterm = make(chan os.Signal, 1)
sighup = make(chan os.Signal, 1)
signal.Notify(util.Sigterm, syscall.SIGTERM, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGABRT)
signal.Notify(sighup, syscall.SIGHUP)
m := clipboard.SetMethod(config.GetGlobalOption("clipboard").(string))
clipErr := clipboard.Initialize(m)
@@ -400,6 +406,8 @@ func main() {
action.InitBindings()
action.InitCommands()
timerChan = make(chan func())
err = config.RunPluginFn("preinit")
if err != nil {
screen.TermMessage(err)
@@ -444,13 +452,6 @@ func main() {
screen.Events = make(chan tcell.Event)
util.Sigterm = make(chan os.Signal, 1)
sighup = make(chan os.Signal, 1)
signal.Notify(util.Sigterm, syscall.SIGTERM, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGABRT)
signal.Notify(sighup, syscall.SIGHUP)
timerChan = make(chan func())
// Here is the event loop which runs in a separate thread
go func() {
for {