src/os/bsd/vm/os_bsd.cpp

changeset 6518
62c54fcc0a35
parent 6513
bbfbe9b06038
parent 6348
0e6af9b390af
child 6553
21dd1c827123
     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

mercurial