aboutsummaryrefslogtreecommitdiff
path: root/src/lib/syscall.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/syscall.zig')
-rw-r--r--src/lib/syscall.zig6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/syscall.zig b/src/lib/syscall.zig
index ee47a6b..63f9afd 100644
--- a/src/lib/syscall.zig
+++ b/src/lib/syscall.zig
@@ -32,6 +32,7 @@ pub fn handler(proc: *process.Info, trap_frame: *trap.Frame) !void {
100008 => remove(trap_frame),
100009 => read(proc, trap_frame),
100010 => write(proc, trap_frame),
+ 100011 => terminate(proc),
else => return Error.UnknownSyscall,
}
}
@@ -218,3 +219,8 @@ fn write(proc: *const process.Info, trap_frame: *trap.Frame) void {
};
sysexchange.frameReturnResult(usize, trap_frame, rd.write(bytes[0..len]));
}
+
+// terminate() noreturn
+fn terminate(proc: *process.Info) void {
+ proc.terminate();
+}