diff options
author | Bruce Mitchener <bruce.mitchener@gmail.com> | 2013-03-04 20:33:09 +0700 |
---|---|---|
committer | Bruce Mitchener <bruce.mitchener@gmail.com> | 2013-03-04 20:38:36 +0700 |
commit | c12116003db5731b20329ae2ba7683a25c8f5d76 (patch) | |
tree | 37ec8089d60a19cceba12df66dc93ec5d7ac25a0 /src | |
parent | ab45ff99a7ebae47372492f7f1d445e4892aaf7e (diff) |
Implement nanosleep.
Diffstat (limited to 'src')
-rw-r--r-- | src/library.js | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/library.js b/src/library.js index 1676a82c..8fb0e588 100644 --- a/src/library.js +++ b/src/library.js @@ -6064,6 +6064,15 @@ LibraryManager.library = { __timespec_struct_layout: Runtime.generateStructInfo([ ['i32', 'tv_sec'], ['i32', 'tv_nsec']]), + nanosleep__deps: ['usleep', '__timespec_struct_layout'], + nanosleep: function(rqtp, rmtp) { + // int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); + var seconds = {{{ makeGetValue('rqtp', '___timespec_struct_layout.tv_sec', 'i32') }}}; + var nanoseconds = {{{ makeGetValue('rqtp', '___timespec_struct_layout.tv_nsec', 'i32') }}}; + {{{ makeSetValue('rmtp', '___timespec_struct_layout.tv_sec', '0', 'i32') }}} + {{{ makeSetValue('rmtp', '___timespec_struct_layout.tv_nsec', '0', 'i32') }}} + return _usleep((seconds * 1e6) + (nanoseconds / 1000)); + }, // TODO: Implement these for real. clock_gettime__deps: ['__timespec_struct_layout'], clock_gettime: function(clk_id, tp) { |