diff options
| author | Junegunn Choi <junegunn.c@gmail.com> | 2024-05-22 22:14:00 +0900 |
|---|---|---|
| committer | Junegunn Choi <junegunn.c@gmail.com> | 2024-05-22 22:14:00 +0900 |
| commit | 303c3bae7ff02996bdbad4b743cdb23c1813a4c6 (patch) | |
| tree | 4dd98fa6c4fbd113db4ff27accad8fa522d71a0e /src/proxy.go | |
| parent | 6b4358f641cc284302da176238f7190e30fe8622 (diff) | |
| download | fzf-303c3bae7ff02996bdbad4b743cdb23c1813a4c6.tar.gz | |
proxy: Pass SIGINT to the child fzf
Diffstat (limited to 'src/proxy.go')
| -rw-r--r-- | src/proxy.go | 9 |
1 files changed, 8 insertions, 1 deletions
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() |
