hotspot/src/os/aix/vm/os_aix.cpp
changeset 22877 121e3c2d2238
parent 22867 309bcf262a19
child 22880 312d82487cc8
--- a/hotspot/src/os/aix/vm/os_aix.cpp	Wed Feb 19 12:08:49 2014 -0800
+++ b/hotspot/src/os/aix/vm/os_aix.cpp	Wed Feb 19 14:03:09 2014 -0800
@@ -2894,9 +2894,21 @@
   }
 }
 
-int os::naked_sleep() {
-  // %% make the sleep time an integer flag. for now use 1 millisec.
-  return os::sleep(Thread::current(), 1, false);
+void os::naked_short_sleep(jlong ms) {
+  struct timespec req;
+
+  assert(ms < 1000, "Un-interruptable sleep, short time use only");
+  req.tv_sec = 0;
+  if (ms > 0) {
+    req.tv_nsec = (ms % 1000) * 1000000;
+  }
+  else {
+    req.tv_nsec = 1;
+  }
+
+  nanosleep(&req, NULL);
+
+  return;
 }
 
 // Sleep forever; naked call to OS-specific sleep; use with CAUTION