[pypy-commit] pypy default: Fix (I think): when calling C functions that call back some RPython
arigo
noreply at buildbot.pypy.org
Wed Jan 22 13:11:39 CET 2014
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r68842:9bfd0a649773
Date: 2014-01-22 13:10 +0100
http://bitbucket.org/pypy/pypy/changeset/9bfd0a649773/
Log: Fix (I think): when calling C functions that call back some RPython
functions, never use _nowrapped=True. This breaks e.g. asmgcc's
stack tracing and triggers an assertion in debug builds. Instead, I
think that just saying "releasegil=False" is what we need here,
according to c23cd52909fb.
diff --git a/pypy/module/cpyext/api.py b/pypy/module/cpyext/api.py
--- a/pypy/module/cpyext/api.py
+++ b/pypy/module/cpyext/api.py
@@ -692,11 +692,11 @@
else:
prefix = 'cpyexttest'
init_buffer = rffi.llexternal('_%s_init_bufferobject' % prefix, [], lltype.Void,
- compilation_info=eci, _nowrapper=True)
+ compilation_info=eci, releasegil=False)
init_pycobject = rffi.llexternal('_%s_init_pycobject' % prefix, [], lltype.Void,
- compilation_info=eci, _nowrapper=True)
+ compilation_info=eci, releasegil=False)
init_capsule = rffi.llexternal('_%s_init_capsule' % prefix, [], lltype.Void,
- compilation_info=eci, _nowrapper=True)
+ compilation_info=eci, releasegil=False)
INIT_FUNCTIONS.extend([
lambda space: init_buffer(),
lambda space: init_pycobject(),
More information about the pypy-commit
mailing list