[PATCH] python3: disable check in PyThreadState_Swap

Michael Stahl (via Code Review) gerrit at gerrit.libreoffice.org
Thu Apr 18 04:27:30 PDT 2013


Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/3453

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/53/3453/1

python3: disable check in PyThreadState_Swap

This check is triggered by nested pyuno PyThreadAttach instances.
The assertion is basically about having multiple PyThreadState instances
per OS thread.  Hopefully this is not a "real" problem and the other
checks in PyEval_ReleaseThread/PyEval_AcquireThread will find all "real"
problems.

http://www.mail-archive.com/libreoffice@lists.freedesktop.org/msg62195.html

Change-Id: Ia82135f37f55ea69b545a83098619939869cb7c5
---
M python3/UnpackedTarball_python3.mk
A python3/python-3.3.0-pythreadstate.patch.1
2 files changed, 16 insertions(+), 0 deletions(-)



diff --git a/python3/UnpackedTarball_python3.mk b/python3/UnpackedTarball_python3.mk
index 87adff0..696c869 100644
--- a/python3/UnpackedTarball_python3.mk
+++ b/python3/UnpackedTarball_python3.mk
@@ -31,6 +31,7 @@
 	python3/python-3.3.0-implicit-int.patch.1 \
 	python3/python-3.3.0-ffi-clang.patch.1 \
 	python3/python-3.3.0-gcc-4.8.patch.1 \
+	python3/python-3.3.0-pythreadstate.patch.1 \
 ))
 
 ifneq ($(OS),WNT)
diff --git a/python3/python-3.3.0-pythreadstate.patch.1 b/python3/python-3.3.0-pythreadstate.patch.1
new file mode 100644
index 0000000..66350e2
--- /dev/null
+++ b/python3/python-3.3.0-pythreadstate.patch.1
@@ -0,0 +1,15 @@
+disable a check in PyThreadState_Swap that is hopefully not a "real" problem
+
+--- python3/Python/pystate.c	2013-04-17 22:45:00.799800000 +0200
++++ python3/Python/pystate.c	2013-04-17 22:46:53.743800000 +0200
+@@ -437,7 +437,9 @@
+        to be used for a thread.  Check this the best we can in debug
+        builds.
+     */
+-#if defined(Py_DEBUG) && defined(WITH_THREAD)
++#if defined(Py_DEBUG) && defined(WITH_THREAD) && 0
++    /* disable this for LO - it is triggered by nested PyThreadAttach
++       which do not appear to be a real problem */
+     if (newts) {
+         /* This can be called from PyEval_RestoreThread(). Similar
+            to it, we need to ensure errno doesn't change.

-- 
To view, visit https://gerrit.libreoffice.org/3453
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia82135f37f55ea69b545a83098619939869cb7c5
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Michael Stahl <mstahl at redhat.com>



More information about the LibreOffice mailing list