diff options
author | Rob Kendrick (humdrum) <rjek@rjek.com> | 2012-05-08 16:20:24 +0100 |
---|---|---|
committer | Rob Kendrick (humdrum) <rjek@rjek.com> | 2012-05-08 16:20:24 +0100 |
commit | a20dd1540cd54565cb119e68b75fcb4c34cb787c (patch) | |
tree | 92cf89534672737f14b1c3ed77f84d6fb114c953 /luxio.c | |
parent | d5535b8419d717d7d60953cd2c0470a3c6e5f5ab (diff) | |
download | luxio-a20dd1540cd54565cb119e68b75fcb4c34cb787c.tar.gz |
nanosleep
Diffstat (limited to 'luxio.c')
-rw-r--r-- | luxio.c | 19 |
1 files changed, 18 insertions, 1 deletions
@@ -1320,7 +1320,22 @@ luxio_tcsetpgrp(lua_State *L) /* 7.2.4 */ /* TODO: clock_settime(), clock_gettime(), clock_getres() 14.2.1 */ /* Timer functions excluded, based on signals */ -/* TODO: nanosleep() 14.2.5 */ + +static int +luxio_nanosleep(lua_State *L) /* 14.2.5 */ +{ + struct timespec req, rem = { 0, 0 }; + + req.tv_sec = luaL_checkinteger(L, 1); + req.tv_nsec = luaL_checkinteger(L, 2); + + lua_pushinteger(L, nanosleep(&req, &rem)); + lua_pushinteger(L, errno); + lua_pushinteger(L, rem.tv_sec); + lua_pushinteger(L, rem.tv_nsec); + + return 4; +} /* 15 Message passing ********************************************************/ @@ -2345,6 +2360,8 @@ luxio_functions[] = { { "tcgetpgrp", luxio_tcgetpgrp}, { "tcsetpgrp", luxio_tcsetpgrp}, + { "nanosleep", luxio_nanosleep }, + LUXIO_MQ_FUNCS LUXIO_MQ_FUNCS_2001 |