// +build !windows

package shim

import (
	"context"
	"os"
	"os/signal"
	"syscall"
)

func listenForCollectMetricsSignals(ctx context.Context, collectMetricsPrompt chan os.Signal) {
	// just listen to all the signals.
	signal.Notify(collectMetricsPrompt, syscall.SIGHUP, syscall.SIGUSR1, syscall.SIGUSR2)

	go func() {
		select {
		case <-ctx.Done():
			// context done. stop to signals to avoid pushing messages to a closed channel
			signal.Stop(collectMetricsPrompt)
		}
	}()
}