From c03a72f1d7b598c1fe8fd01bb1f5bbfbd0256313 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Mon, 14 Sep 2026 22:29:06 +0200 Subject: plan 10: an interrupt stops between steps; nohup keeps ignoring hangups --- cmd/krino/sort.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'cmd/krino') diff --git a/cmd/krino/sort.go b/cmd/krino/sort.go index 901b19e..52875ed 100644 --- a/cmd/krino/sort.go +++ b/cmd/krino/sort.go @@ -359,7 +359,13 @@ func installSignalHandler(cancel context.CancelFunc) func() { } sig := make(chan os.Signal, 1) - signal.Notify(sig, os.Interrupt, syscall.SIGTERM, syscall.SIGHUP) + signal.Notify(sig, os.Interrupt, syscall.SIGTERM) + // A hangup stops krino like SIGTERM - unless it was started ignoring + // hangups (nohup), which must go on meaning "keep running" (re-review + // pa F3): asking for SIGHUP would re-enable it. + if !signal.Ignored(syscall.SIGHUP) { + signal.Notify(sig, syscall.SIGHUP) + } done := make(chan struct{}) go func() { signals := 0 -- cgit v1.3