[pypy-commit] pypy stmgc-c8: release gil again for these functions

Raemi pypy.commits at gmail.com
Fri Feb 26 07:28:43 EST 2016


Author: Remi Meier <remi.meier at gmail.com>
Branch: stmgc-c8
Changeset: r82562:a736e9684a84
Date: 2016-02-26 13:28 +0100
http://bitbucket.org/pypy/pypy/changeset/a736e9684a84/

Log:	release gil again for these functions

	I don't think this is good anymore with the detached inev tx mode

diff --git a/rpython/rlib/rthread.py b/rpython/rlib/rthread.py
--- a/rpython/rlib/rthread.py
+++ b/rpython/rlib/rthread.py
@@ -60,7 +60,8 @@
                                         releasegil=True)    # release the GIL
 c_thread_releaselock = llexternal('RPyThreadReleaseLock', [TLOCKP],
                                   lltype.Signed,
-                                  _nowrapper=True)   # *don't* release the GIL
+                                  releasegil=True) # avoid conflicts if possible
+                                  #_nowrapper=True)   # *don't* release the GIL
 
 # another set of functions, this time in versions that don't cause the
 # GIL to be released.  Used to be there to handle the GIL lock itself,
@@ -71,7 +72,10 @@
 c_thread_acquirelock_timed_NOAUTO = llexternal('RPyThreadAcquireLockTimed',
                                          [TLOCKP, rffi.LONGLONG, rffi.INT],
                                          rffi.INT, _nowrapper=True)
-c_thread_releaselock_NOAUTO = c_thread_releaselock
+c_thread_releaselock_NOAUTO = llexternal('RPyThreadReleaseLock', [TLOCKP],
+                                         lltype.Signed,
+                                         _nowrapper=True)   # *don't* release the GIL
+
 
 
 def allocate_lock():


More information about the pypy-commit mailing list