aboutsummaryrefslogtreecommitdiff
path: root/std/os.zig
diff options
context:
space:
mode:
authorShritesh Bhattarai <shritesh@shritesh.com>2019-05-02 11:25:25 -0500
committerShritesh Bhattarai <shritesh@shritesh.com>2019-05-02 11:25:25 -0500
commit6fb677c4f64920d0a6d0133f1ccd6f36564f4159 (patch)
treed7f8d5e4ff64c2499534b5d5cfea1a7d245ce9b0 /std/os.zig
parentf8117a0799f6c691bf65f3b3f4726bf0e6fd6be2 (diff)
downloadzig-6fb677c4f64920d0a6d0133f1ccd6f36564f4159.tar.gz
zig-6fb677c4f64920d0a6d0133f1ccd6f36564f4159.zip
wasi: native os.abort
Diffstat (limited to 'std/os.zig')
-rw-r--r--std/os.zig8
1 files changed, 7 insertions, 1 deletions
diff --git a/std/os.zig b/std/os.zig
index 50904f7345..0912b7a2c5 100644
--- a/std/os.zig
+++ b/std/os.zig
@@ -200,7 +200,7 @@ pub fn abort() noreturn {
c.abort();
}
switch (builtin.os) {
- Os.linux, Os.macosx, Os.ios, Os.freebsd, Os.netbsd, Os.wasi => {
+ Os.linux, Os.macosx, Os.ios, Os.freebsd, Os.netbsd => {
_ = posix.raise(posix.SIGABRT);
_ = posix.raise(posix.SIGKILL);
while (true) {}
@@ -211,6 +211,12 @@ pub fn abort() noreturn {
}
windows.ExitProcess(3);
},
+ Os.wasi => {
+ _ = wasi.proc_raise(wasi.SIGABRT);
+ // TODO: Is SIGKILL even necessary?
+ _ = wasi.proc_raise(wasi.SIGKILL);
+ while (true) {}
+ },
Os.uefi => {
// TODO there's gotta be a better thing to do here than loop forever
while (true) {}