Author: Armin Rigo <[email protected]>
Branch: fast-gil
Changeset: r69761:47ef34529770
Date: 2014-03-06 20:31 +0100
http://bitbucket.org/pypy/pypy/changeset/47ef34529770/

Log:    Move clock_gettime() below

diff --git a/rpython/translator/c/src/thread_pthread.c 
b/rpython/translator/c/src/thread_pthread.c
--- a/rpython/translator/c/src/thread_pthread.c
+++ b/rpython/translator/c/src/thread_pthread.c
@@ -643,9 +643,8 @@
        goes on.  Eventually, the real GIL should be released, so there
        is no point in trying to bound the maximal length of the wait.
     */
-    unsigned long long delay = 100000; /* in ns; initial delay is 0.1 ms */
+    unsigned long long delay = 0;
     struct timespec t;
-    clock_gettime(CLOCK_REALTIME, &t);
 
     while (1) {
 
@@ -672,6 +671,10 @@
         }
 
         /* sleep for a bit of time */
+        if (delay == 0) {
+            clock_gettime(CLOCK_REALTIME, &t);
+            delay = 100000;    /* in ns; initial delay is 0.1 ms */
+        }
         timespec_add(&t, delay);
         int error = pthread_mutex_timedlock(&mutex_gil, &t);
 
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to