Mercurial > hg > graal-compiler
changeset 14461:a13badbb8b8e
8034797: AIX: Fix os::naked_short_sleep() in os_aix.cpp after 8028280
Summary: imlements os::naked_short_sleep(jlong ms) on AIX
Reviewed-by: dholmes, kvn
author | goetz |
---|---|
date | Wed, 19 Feb 2014 14:03:09 -0800 |
parents | 8a9bb7821e28 |
children | 1e820011ee5f 524b54a7f1b5 |
files | src/os/aix/vm/os_aix.cpp |
diffstat | 1 files changed, 15 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/os/aix/vm/os_aix.cpp Wed Feb 19 12:08:49 2014 -0800 +++ b/src/os/aix/vm/os_aix.cpp Wed Feb 19 14:03:09 2014 -0800 @@ -2894,9 +2894,21 @@ } } -int os::naked_sleep() { - // %% make the sleep time an integer flag. for now use 1 millisec. - return os::sleep(Thread::current(), 1, false); +void os::naked_short_sleep(jlong ms) { + struct timespec req; + + assert(ms < 1000, "Un-interruptable sleep, short time use only"); + req.tv_sec = 0; + if (ms > 0) { + req.tv_nsec = (ms % 1000) * 1000000; + } + else { + req.tv_nsec = 1; + } + + nanosleep(&req, NULL); + + return; } // Sleep forever; naked call to OS-specific sleep; use with CAUTION