src/os/bsd/vm/os_bsd.cpp

changeset 6518
62c54fcc0a35
parent 6513
bbfbe9b06038
parent 6348
0e6af9b390af
child 6553
21dd1c827123
equal deleted inserted replaced
6517:a433eb716ce1 6518:62c54fcc0a35
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 ...

mercurial