summaryrefslogtreecommitdiff
path: root/internal/io
diff options
context:
space:
mode:
Diffstat (limited to 'internal/io')
-rw-r--r--internal/io/signal/signal.go11
1 files changed, 4 insertions, 7 deletions
diff --git a/internal/io/signal/signal.go b/internal/io/signal/signal.go
index 9401707..06abb0b 100644
--- a/internal/io/signal/signal.go
+++ b/internal/io/signal/signal.go
@@ -6,31 +6,28 @@ import (
gosignal "os/signal"
"syscall"
"time"
-
- "github.com/mimecast/dtail/internal/io/logger"
)
// StatsCh returns a channel for "please print stats" signalling.
-func InterruptCh(ctx context.Context) <-chan struct{} {
+func InterruptCh(ctx context.Context) <-chan string {
sigIntCh := make(chan os.Signal)
gosignal.Notify(sigIntCh, os.Interrupt)
sigOtherCh := make(chan os.Signal)
gosignal.Notify(sigOtherCh, syscall.SIGHUP, syscall.SIGTERM, syscall.SIGQUIT)
- statsCh := make(chan struct{})
+ statsCh := make(chan string)
go func() {
for {
select {
case <-sigIntCh:
select {
- case statsCh <- struct{}{}:
- logger.Info("Hint: Hit Ctrl+C twice to exit")
+ case statsCh <- "Hint: Hit Ctrl+C again to exit":
select {
case <-sigIntCh:
os.Exit(0)
- case <-time.After(time.Second):
+ case <-time.After(time.Second * 3):
}
default:
// Stats already printed.