From 303c3bae7ff02996bdbad4b743cdb23c1813a4c6 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Wed, 22 May 2024 22:14:00 +0900 Subject: [PATCH] proxy: Pass SIGINT to the child fzf --- src/proxy.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/proxy.go b/src/proxy.go index 65a56604..adeea213 100644 --- a/src/proxy.go +++ b/src/proxy.go @@ -103,7 +103,14 @@ func runProxy(commandPrefix string, cmdBuilder func(temp string) *exec.Cmd, opts defer os.Remove(temp) cmd := cmdBuilder(temp) - signal.Ignore(os.Interrupt) + intChan := make(chan os.Signal, 1) + defer close(intChan) + go func() { + if sig, valid := <-intChan; valid { + cmd.Process.Signal(sig) + } + }() + signal.Notify(intChan, os.Interrupt) if err := cmd.Run(); err != nil { if exitError, ok := err.(*exec.ExitError); ok { code := exitError.ExitCode()