diff options
Diffstat (limited to 'src/lib/syscall.zig')
-rw-r--r-- | src/lib/syscall.zig | 6 |
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(); +} |