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

Reply via email to