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