ref: 9cc7744955bddb7e7f067c09a95e70021a536520
parent: 3b15a12f797b9b8c3d0d47d5576afcceccc18fe3
author: kvik <kvik@a-b.xyz>
date: Sun Apr 18 21:08:23 EDT 2021
proc: implement p9.sleep()
--- a/p9.c
+++ b/p9.c
@@ -169,6 +169,8 @@
{"getenv", p9_getenv},
{"setenv", p9_setenv},
+ {"abort", p9_abort},
+ {"sleep", p9_sleep},
{"rfork", p9_rfork},
{nil, nil}
--- a/proc.c
+++ b/proc.c
@@ -6,6 +6,18 @@
}
static int
+p9_sleep(lua_State *L)
+{
+ long t;
+
+ t = luaL_checkinteger(L, 1);
+ lua_pushboolean(L,
+ sleep(t) == -1 ? 0 : 1
+ );
+ return 1;
+}
+
+static int
p9_rfork(lua_State *L)
{
int flags, i, n, r;
--- a/test.lua
+++ b/test.lua
@@ -224,7 +224,10 @@
end
-- Process control
--- No idea how to test this properly.
+-- No idea how to test some of this
+do
+ assert(p9.sleep(0) == true)
+end