mirror of
https://github.com/denoland/deno.git
synced 2025-07-24 13:44:08 +00:00
fix(task): do not always kill child on ctrl+c on windows (#27269)
We don't need to forward the kill signal because ctrl+c events are sent to the process group. Closes https://github.com/denoland/deno/issues/27266
This commit is contained in:
parent
c4667c8ed0
commit
e7606429b0
1 changed files with 7 additions and 1 deletions
|
@ -585,7 +585,13 @@ pub async fn run_future_forwarding_signals<TOutput>(
|
|||
|
||||
async fn listen_ctrl_c(kill_signal: KillSignal) {
|
||||
while let Ok(()) = tokio::signal::ctrl_c().await {
|
||||
kill_signal.send(deno_task_shell::SignalKind::SIGINT)
|
||||
// On windows, ctrl+c is sent to the process group, so the signal would
|
||||
// have already been sent to the child process. We still want to listen
|
||||
// for ctrl+c here to keep the process alive when receiving it, but no
|
||||
// need to forward the signal because it's already been sent.
|
||||
if !cfg!(windows) {
|
||||
kill_signal.send(deno_task_shell::SignalKind::SIGINT)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue