From e83990a87281f2472f398be9267f7b11f7f8463e Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Thu, 18 Apr 2013 12:23:22 +0200 Subject: 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 Reviewed-on: https://gerrit.libreoffice.org/3453 Reviewed-by: David Ostrovsky Tested-by: David Ostrovsky --- python3/UnpackedTarball_python3.mk | 1 + python3/python-3.3.0-pythreadstate.patch.1 | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 python3/python-3.3.0-pythreadstate.patch.1 (limited to 'python3') diff --git a/python3/UnpackedTarball_python3.mk b/python3/UnpackedTarball_python3.mk index 87adff0838aa..696c8691106d 100644 --- a/python3/UnpackedTarball_python3.mk +++ b/python3/UnpackedTarball_python3.mk @@ -31,6 +31,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,python3,\ 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 000000000000..66350e2c8112 --- /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. -- cgit