diff --git includes/lock.inc includes/lock.inc
index f23c499..0d99b6f 100644
--- includes/lock.inc
+++ includes/lock.inc
@@ -197,13 +197,14 @@ function lock_may_be_available($name) {
  *   TRUE if the lock holds, FALSE if it is available.
  */
 function lock_wait($name, $delay = 30) {
-  $delay = (int) $delay;
-  $sleep = 1;
+  // Multiply delay by ten, to allow polling to begin at 1/10th of a second.
+  $delay = (int) $delay * 10;
+  $sleep = 100000;
   while ($delay > 0) {
     // This function should only be called by a request that failed to get a
     // lock, so we sleep first to give the parallel request a chance to finish
     // and release the lock.
-    sleep($sleep);
+    usleep($sleep);
     // After each sleep, double the value of $sleep, to reduce the potential
     // for a lock stampede.
     $delay = $delay - $sleep;
