Implement _Exit(3).

Change-Id: Ida6ac844cc87d38c9645b197dd8188bb73e27dbe
diff --git a/tests/stdlib_test.cpp b/tests/stdlib_test.cpp
index 3a3fe28..bb395f0 100644
--- a/tests/stdlib_test.cpp
+++ b/tests/stdlib_test.cpp
@@ -202,3 +202,17 @@
 TEST(stdlib, strtold) {
   ASSERT_DOUBLE_EQ(1.23, strtold("1.23", NULL));
 }
+
+TEST(unistd, _Exit) {
+  int pid = fork();
+  ASSERT_NE(-1, pid) << strerror(errno);
+
+  if (pid == 0) {
+    _Exit(99);
+  }
+
+  int status;
+  ASSERT_EQ(pid, waitpid(pid, &status, 0));
+  ASSERT_TRUE(WIFEXITED(status));
+  ASSERT_EQ(99, WEXITSTATUS(status));
+}
diff --git a/tests/unistd_test.cpp b/tests/unistd_test.cpp
index f50c102..da8fd4b 100644
--- a/tests/unistd_test.cpp
+++ b/tests/unistd_test.cpp
@@ -116,3 +116,17 @@
 TEST(unistd, alarm) {
   ASSERT_EQ(0U, alarm(0));
 }
+
+TEST(unistd, _exit) {
+  int pid = fork();
+  ASSERT_NE(-1, pid) << strerror(errno);
+
+  if (pid == 0) {
+    _exit(99);
+  }
+
+  int status;
+  ASSERT_EQ(pid, waitpid(pid, &status, 0));
+  ASSERT_TRUE(WIFEXITED(status));
+  ASSERT_EQ(99, WEXITSTATUS(status));
+}