diff options
Diffstat (limited to 'src/detached/server.zig')
| -rw-r--r-- | src/detached/server.zig | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/detached/server.zig b/src/detached/server.zig index 0cf1729f..5c0e1487 100644 --- a/src/detached/server.zig +++ b/src/detached/server.zig @@ -353,6 +353,7 @@ pub const Session = struct { .pty_signal = ptySignal, .close_pty = closePaneShell, .tty_taken = ttyTaken, + .kill_job = killJob, .write_file = writeFile, .write_dump = writeDump, .watch_file = watchFile, @@ -521,6 +522,14 @@ pub const Session = struct { return host_io.ttyTaken(pt.pid, pt.fd); } + fn killJob(ctx: ?*anyopaque, pane: u8) bool { + const s = of(ctx); + if (pane >= s.ptys.len) return false; + const pt = s.ptys[pane]; + if (pt.fd < 0) return false; + return host_io.killJob(pt.pid, pt.fd); + } + fn writeFile(ctx: ?*anyopaque, pane: u8, path: []const u8, bytes: []const u8) void { const s = of(ctx); filesystem.write(s.core, path, bytes) catch |err| |
