Author: Armin Rigo <[email protected]>
Branch: ec-keepalive
Changeset: r81564:5c17e7e2b811
Date: 2016-01-05 01:41 +0100
http://bitbucket.org/pypy/pypy/changeset/5c17e7e2b811/
Log: Maybe it's a better idea to use critical sections here
diff --git a/rpython/translator/c/src/thread_nt.c
b/rpython/translator/c/src/thread_nt.c
--- a/rpython/translator/c/src/thread_nt.c
+++ b/rpython/translator/c/src/thread_nt.c
@@ -231,10 +231,19 @@
return (result != WAIT_TIMEOUT);
}
-#define mutex1_t mutex2_t
-#define mutex1_init mutex2_init
-#define mutex1_lock mutex2_lock
-#define mutex1_unlock mutex2_unlock
+typedef CRITICAL_SECTION mutex1_t;
+
+static inline void mutex1_init(mutex1_t *mutex) {
+ InitializeCriticalSection(mutex);
+}
+
+static inline void mutex1_lock(mutex1_t *mutex) {
+ EnterCriticalSection(mutex);
+}
+
+static inline void mutex1_unlock(mutex1_t *mutex) {
+ LeaveCriticalSection(mutex);
+}
//#define lock_test_and_set(ptr, value) see thread_nt.h
#define atomic_increment(ptr) InterlockedIncrement(ptr)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit