Mercurial > hg > truffle
comparison src/os/aix/vm/os_aix.cpp @ 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 | b858620b0081 |
children | 3ef193f311ed |
comparison
equal
deleted
inserted
replaced
14460:8a9bb7821e28 | 14461:a13badbb8b8e |
---|---|
2892 } | 2892 } |
2893 return OS_OK; | 2893 return OS_OK; |
2894 } | 2894 } |
2895 } | 2895 } |
2896 | 2896 |
2897 int os::naked_sleep() { | 2897 void os::naked_short_sleep(jlong ms) { |
2898 // %% make the sleep time an integer flag. for now use 1 millisec. | 2898 struct timespec req; |
2899 return os::sleep(Thread::current(), 1, false); | 2899 |
2900 assert(ms < 1000, "Un-interruptable sleep, short time use only"); | |
2901 req.tv_sec = 0; | |
2902 if (ms > 0) { | |
2903 req.tv_nsec = (ms % 1000) * 1000000; | |
2904 } | |
2905 else { | |
2906 req.tv_nsec = 1; | |
2907 } | |
2908 | |
2909 nanosleep(&req, NULL); | |
2910 | |
2911 return; | |
2900 } | 2912 } |
2901 | 2913 |
2902 // Sleep forever; naked call to OS-specific sleep; use with CAUTION | 2914 // Sleep forever; naked call to OS-specific sleep; use with CAUTION |
2903 void os::infinite_sleep() { | 2915 void os::infinite_sleep() { |
2904 while (true) { // sleep forever ... | 2916 while (true) { // sleep forever ... |