2588 } |
2588 } |
2589 return OS_OK ; |
2589 return OS_OK ; |
2590 } |
2590 } |
2591 } |
2591 } |
2592 |
2592 |
2593 int os::naked_sleep() { |
2593 void os::naked_short_sleep(jlong ms) { |
2594 // %% make the sleep time an integer flag. for now use 1 millisec. |
2594 struct timespec req; |
2595 return os::sleep(Thread::current(), 1, false); |
2595 |
|
2596 assert(ms < 1000, "Un-interruptable sleep, short time use only"); |
|
2597 req.tv_sec = 0; |
|
2598 if (ms > 0) { |
|
2599 req.tv_nsec = (ms % 1000) * 1000000; |
|
2600 } |
|
2601 else { |
|
2602 req.tv_nsec = 1; |
|
2603 } |
|
2604 |
|
2605 nanosleep(&req, NULL); |
|
2606 |
|
2607 return; |
2596 } |
2608 } |
2597 |
2609 |
2598 // Sleep forever; naked call to OS-specific sleep; use with CAUTION |
2610 // Sleep forever; naked call to OS-specific sleep; use with CAUTION |
2599 void os::infinite_sleep() { |
2611 void os::infinite_sleep() { |
2600 while (true) { // sleep forever ... |
2612 while (true) { // sleep forever ... |