1.1 --- a/src/os/bsd/vm/os_bsd.cpp Tue Mar 25 12:54:21 2014 -0700 1.2 +++ b/src/os/bsd/vm/os_bsd.cpp Tue Mar 25 17:07:36 2014 -0700 1.3 @@ -2590,9 +2590,21 @@ 1.4 } 1.5 } 1.6 1.7 -int os::naked_sleep() { 1.8 - // %% make the sleep time an integer flag. for now use 1 millisec. 1.9 - return os::sleep(Thread::current(), 1, false); 1.10 +void os::naked_short_sleep(jlong ms) { 1.11 + struct timespec req; 1.12 + 1.13 + assert(ms < 1000, "Un-interruptable sleep, short time use only"); 1.14 + req.tv_sec = 0; 1.15 + if (ms > 0) { 1.16 + req.tv_nsec = (ms % 1000) * 1000000; 1.17 + } 1.18 + else { 1.19 + req.tv_nsec = 1; 1.20 + } 1.21 + 1.22 + nanosleep(&req, NULL); 1.23 + 1.24 + return; 1.25 } 1.26 1.27 // Sleep forever; naked call to OS-specific sleep; use with CAUTION