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 ...