From c541223a1406defdf5abebbb502077f7269e6893 Mon Sep 17 00:00:00 2001
From: Stefan Behnel <stefan_ml@behnel.de>
Date: Mon, 26 Oct 2015 20:52:47 +0100
Subject: [PATCH] manually mangle new names used in memoryview code to prevent
 them from interfering with user C code

---
 Cython/Utility/MemoryView.pyx | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/Cython/Utility/MemoryView.pyx b/Cython/Utility/MemoryView.pyx
index f6e7ee811..b80e24b8a 100644
--- a/Cython/Utility/MemoryView.pyx
+++ b/Cython/Utility/MemoryView.pyx
@@ -305,8 +305,8 @@ cdef void *align_pointer(void *memory, size_t alignment) nogil:
 ## note that this could be implemented in a more beautiful way in "normal" Cython,
 ## but this code gets merged into the user module and not everything works there.
 DEF THREAD_LOCKS_PREALLOCATED = 8
-cdef int _thread_locks_used = 0
-cdef PyThread_type_lock[THREAD_LOCKS_PREALLOCATED] _thread_locks = [
+cdef int __pyx_memoryview_thread_locks_used = 0
+cdef PyThread_type_lock[THREAD_LOCKS_PREALLOCATED] __pyx_memoryview_thread_locks = [
     PyThread_allocate_lock(),
     PyThread_allocate_lock(),
     PyThread_allocate_lock(),
@@ -343,10 +343,10 @@ cdef class memoryview(object):
                 (<__pyx_buffer *> &self.view).obj = Py_None
                 Py_INCREF(Py_None)
 
-        global _thread_locks_used
-        if _thread_locks_used < THREAD_LOCKS_PREALLOCATED:
-            self.lock = _thread_locks[_thread_locks_used]
-            _thread_locks_used += 1
+        global __pyx_memoryview_thread_locks_used
+        if __pyx_memoryview_thread_locks_used < THREAD_LOCKS_PREALLOCATED:
+            self.lock = __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]
+            __pyx_memoryview_thread_locks_used += 1
         if self.lock is NULL:
             self.lock = PyThread_allocate_lock()
             if self.lock is NULL:
@@ -366,14 +366,14 @@ cdef class memoryview(object):
             __Pyx_ReleaseBuffer(&self.view)
 
         cdef int i
-        global _thread_locks_used
+        global __pyx_memoryview_thread_locks_used
         if self.lock != NULL:
-            for i in range(_thread_locks_used):
-                if _thread_locks[i] is self.lock:
-                    _thread_locks_used -= 1
-                    if i != _thread_locks_used:
-                        _thread_locks[i], _thread_locks[_thread_locks_used] = (
-                            _thread_locks[_thread_locks_used], _thread_locks[i])
+            for i in range(__pyx_memoryview_thread_locks_used):
+                if __pyx_memoryview_thread_locks[i] is self.lock:
+                    __pyx_memoryview_thread_locks_used -= 1
+                    if i != __pyx_memoryview_thread_locks_used:
+                        __pyx_memoryview_thread_locks[i], __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used] = (
+                            __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used], __pyx_memoryview_thread_locks[i])
                     break
             else:
                 PyThread_free_lock(self.lock)
-- 
2.30.9