diff --git a/src/timeout/timeout.v b/src/timeout/timeout.v index 943685d..3f75cdf 100644 --- a/src/timeout/timeout.v +++ b/src/timeout/timeout.v @@ -249,7 +249,7 @@ fn handle_timeout(mut p os.Process, kill_after_ms i64, signal string, preserve_s if verbose { eprintln('${app_name}: sending signal ${signal} to command') } - terminate_process(p, sig_num, !foreground) + terminate_process(mut &p, sig_num, !foreground) if kill_after_ms > 0 { kill_start := time.now() @@ -263,7 +263,7 @@ fn handle_timeout(mut p os.Process, kill_after_ms i64, signal string, preserve_s if verbose { eprintln('${app_name}: sending signal KILL to command') } - terminate_process(p, 9, !foreground) + terminate_process(mut &p, 9, !foreground) } return handle_process_exit(mut p, preserve_status, 124) } diff --git a/src/timeout/timeout_default.c.v b/src/timeout/timeout_default.c.v index 48f756b..a912be6 100644 --- a/src/timeout/timeout_default.c.v +++ b/src/timeout/timeout_default.c.v @@ -4,7 +4,7 @@ fn setup_process_group(p os.Process, foreground bool) { // Fallback } -fn terminate_process(p os.Process, sig_num int, process_group bool) { +fn terminate_process(mut p &os.Process, sig_num int, process_group bool) { // Fallback: try to kill the process p.signal_kill() } diff --git a/src/timeout/timeout_nix.c.v b/src/timeout/timeout_nix.c.v index 00f4349..5a2d001 100644 --- a/src/timeout/timeout_nix.c.v +++ b/src/timeout/timeout_nix.c.v @@ -12,7 +12,7 @@ fn setup_process_group(p os.Process, foreground bool) { } } -fn terminate_process(p os.Process, sig_num int, process_group bool) { +fn terminate_process(mut p &os.Process, sig_num int, process_group bool) { pid := if process_group { -p.pid } else { p.pid } C.kill(pid, sig_num) } diff --git a/src/timeout/timeout_windows.c.v b/src/timeout/timeout_windows.c.v index c0c688a..a035f98 100644 --- a/src/timeout/timeout_windows.c.v +++ b/src/timeout/timeout_windows.c.v @@ -7,7 +7,7 @@ fn setup_process_group(p os.Process, foreground bool) { // A pointer, because signalling a process changes it. Passing it by value, as the // nix version can, made the compiler reference it for us and then reject that as // deprecated automatic referencing. -fn terminate_process(p os.Process, sig_num int, process_group bool) { +fn terminate_process(mut p &os.Process, sig_num int, process_group bool) { // TERM, Windows doesn't seem to support signals like Unixes does if sig_num == 15 { p.signal_term()