[pypy-commit] pypy disable_pythonapi: remove from pythonapi support from cpyext

mattip noreply at buildbot.pypy.org
Mon Jun 23 21:27:04 CEST 2014


Author: mattip <matti.picus at gmail.com>
Branch: disable_pythonapi
Changeset: r72178:750dd6fe24ef
Date: 2014-06-23 22:09 +0300
http://bitbucket.org/pypy/pypy/changeset/750dd6fe24ef/

Log:	remove from pythonapi support from cpyext

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
@@ -809,8 +809,6 @@
     import ctypes
     bridge = ctypes.CDLL(str(modulename), mode=ctypes.RTLD_GLOBAL)
 
-    space.fromcache(State).install_dll(eci)
-
     # populate static data
     for name, (typ, expr) in GLOBALS.iteritems():
         from pypy.module import cpyext
@@ -1004,23 +1002,6 @@
 
     separate_module_sources = [code, struct_source]
 
-    if sys.platform == 'win32':
-        get_pythonapi_source = '''
-        #include <windows.h>
-        HANDLE pypy_get_pythonapi_handle() {
-            MEMORY_BASIC_INFORMATION  mi;
-            memset(&mi, 0, sizeof(mi));
-
-            if( !VirtualQueryEx(GetCurrentProcess(), &pypy_get_pythonapi_handle,
-                                &mi, sizeof(mi)) )
-                return 0;
-
-            return (HMODULE)mi.AllocationBase;
-        }
-        '''
-        separate_module_sources.append(get_pythonapi_source)
-        export_symbols_eci.append('pypy_get_pythonapi_handle')
-
     eci = ExternalCompilationInfo(
         include_dirs=include_dirs,
         separate_module_files=[source_dir / "varargwrapper.c",
@@ -1065,8 +1046,6 @@
 
     eci = build_eci(False, export_symbols, code)
 
-    space.fromcache(State).install_dll(eci)
-
     run_bootstrap_functions(space)
     setup_va_functions(eci)
 
diff --git a/pypy/module/cpyext/state.py b/pypy/module/cpyext/state.py
--- a/pypy/module/cpyext/state.py
+++ b/pypy/module/cpyext/state.py
@@ -62,14 +62,6 @@
         else:
             api.setup_library(self.space)
 
-    def install_dll(self, eci):
-        """NOT_RPYTHON
-        Called when the dll has been compiled"""
-        if sys.platform == 'win32':
-            self.get_pythonapi_handle = rffi.llexternal(
-                'pypy_get_pythonapi_handle', [], DLLHANDLE,
-                compilation_info=eci)
-
     def startup(self, space):
         "This function is called when the program really starts"
 
diff --git a/pypy/module/cpyext/test/test_cpyext.py b/pypy/module/cpyext/test/test_cpyext.py
--- a/pypy/module/cpyext/test/test_cpyext.py
+++ b/pypy/module/cpyext/test/test_cpyext.py
@@ -201,17 +201,6 @@
         raises(ImportError, cpyext.load_module, "missing.file", "foo")
         raises(ImportError, cpyext.load_module, self.libc, "invalid.function")
 
-    def test_dllhandle(self):
-        import sys
-        if sys.platform != "win32" or sys.version_info < (2, 6):
-            skip("Windows Python >= 2.6 only")
-        assert sys.dllhandle
-        assert sys.dllhandle.getaddressindll('cpyexttestErr_NewException')
-        import ctypes 
-        PyUnicode_GetDefaultEncoding = ctypes.pythonapi.cpyexttestUnicode_GetDefaultEncoding
-        PyUnicode_GetDefaultEncoding.restype = ctypes.c_char_p
-        assert PyUnicode_GetDefaultEncoding() == 'ascii'
-
 class AppTestCpythonExtensionBase(LeakCheckingTest):
 
     def setup_class(cls):


More information about the pypy-commit mailing list