src/hotspot/os/bsd/os_bsd.cpp
changeset 53077 33b8f6f4cdf5
parent 52892 442d322bb6d8
child 53104 95937fc2a05e
equal deleted inserted replaced
53076:dd5d7ba5b539 53077:33b8f6f4cdf5
  2223 
  2223 
  2224 size_t os::read_at(int fd, void *buf, unsigned int nBytes, jlong offset) {
  2224 size_t os::read_at(int fd, void *buf, unsigned int nBytes, jlong offset) {
  2225   RESTARTABLE_RETURN_INT(::pread(fd, buf, nBytes, offset));
  2225   RESTARTABLE_RETURN_INT(::pread(fd, buf, nBytes, offset));
  2226 }
  2226 }
  2227 
  2227 
  2228 void os::naked_short_sleep(jlong ms) {
       
  2229   struct timespec req;
       
  2230 
       
  2231   assert(ms < 1000, "Un-interruptable sleep, short time use only");
       
  2232   req.tv_sec = 0;
       
  2233   if (ms > 0) {
       
  2234     req.tv_nsec = (ms % 1000) * 1000000;
       
  2235   } else {
       
  2236     req.tv_nsec = 1;
       
  2237   }
       
  2238 
       
  2239   nanosleep(&req, NULL);
       
  2240 
       
  2241   return;
       
  2242 }
       
  2243 
       
  2244 // Sleep forever; naked call to OS-specific sleep; use with CAUTION
  2228 // Sleep forever; naked call to OS-specific sleep; use with CAUTION
  2245 void os::infinite_sleep() {
  2229 void os::infinite_sleep() {
  2246   while (true) {    // sleep forever ...
  2230   while (true) {    // sleep forever ...
  2247     ::sleep(100);   // ... 100 seconds at a time
  2231     ::sleep(100);   // ... 100 seconds at a time
  2248   }
  2232   }