Skip to content

Commit 6fcc074

Browse files
committed
Forward the received signal to all processes in the process group
1 parent 0fafcaf commit 6fcc074

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

cli/run.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -198,12 +198,16 @@ Run 'dispatch help run' to learn about Dispatch sessions.`, BridgeSession)
198198
select {
199199
case <-ctx.Done():
200200
return
201-
case <-signals:
201+
case s := <-signals:
202202
if !signaled {
203203
signaled = true
204-
_ = cmd.Process.Signal(syscall.SIGTERM)
205204
} else {
206-
_ = cmd.Process.Kill()
205+
s = os.Kill
206+
}
207+
if cmd.Process != nil && cmd.Process.Pid > 0 {
208+
// Sending the signal to -pid sends it to all processes
209+
// in the process group.
210+
_ = syscall.Kill(-cmd.Process.Pid, s.(syscall.Signal))
207211
}
208212
}
209213
}

0 commit comments

Comments
 (0)