mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
Python3: update to 3.9.13
release: - https://www.python.org/downloads/release/python-3913/ changelog: - https://docs.python.org/release/3.9.13/whatsnew/changelog.html upstream fix for dropped patch - https://github.com/python/cpython/issues/80254 - https://github.com/python/cpython/pull/11984 - https://github.com/python/cpython/issues/90228 - https://github.com/python/cpython/issues/92036 - https://github.com/python/cpython/pull/92037 - https://github.com/python/cpython/pull/92297 - bpo-36073 - was - https://github.com/python/cpython/pull/30579 - https://github.com/python/cpython/pull/30580
This commit is contained in:
parent
1ac9e95727
commit
5c655c78e9
@ -3,8 +3,8 @@
|
||||
|
||||
PKG_NAME="Python3"
|
||||
# When changing PKG_VERSION remember to sync PKG_PYTHON_VERSION!
|
||||
PKG_VERSION="3.9.12"
|
||||
PKG_SHA256="2cd94b20670e4159c6d9ab57f91dbf255b97d8c1a1451d1c35f4ec1968adf971"
|
||||
PKG_VERSION="3.9.13"
|
||||
PKG_SHA256="125b0c598f1e15d2aa65406e83f792df7d171cdf38c16803b149994316a3080f"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="https://www.python.org/"
|
||||
PKG_URL="https://www.python.org/ftp/python/${PKG_VERSION}/${PKG_NAME::-1}-${PKG_VERSION}.tar.xz"
|
||||
|
@ -1,57 +0,0 @@
|
||||
From e5d8e72824a34c78552bec74511cb8e5412746c2 Mon Sep 17 00:00:00 2001
|
||||
From: Alban Browaeys <alban.browaeys@gmail.com>
|
||||
Date: Thu, 24 Mar 2022 22:20:41 +0100
|
||||
Subject: [PATCH] Revert "bpo-46070: _PyGC_Fini() untracks objects (GH-30577)
|
||||
(GH-30580)"
|
||||
|
||||
This reverts commit 52937c26adc35350ca0402070160cf6dc838f359.
|
||||
The above commit segfaults python 3.9.11 if importing sqlite3 in
|
||||
threads.
|
||||
---
|
||||
Modules/gcmodule.c | 24 ------------------------
|
||||
1 file changed, 24 deletions(-)
|
||||
|
||||
diff --git a/Modules/gcmodule.c b/Modules/gcmodule.c
|
||||
index 3cf1a00b00..2c6ef9252e 100644
|
||||
--- a/Modules/gcmodule.c
|
||||
+++ b/Modules/gcmodule.c
|
||||
@@ -2149,36 +2149,12 @@ _PyGC_DumpShutdownStats(PyThreadState *tstate)
|
||||
}
|
||||
}
|
||||
|
||||
-
|
||||
-static void
|
||||
-gc_fini_untrack(PyGC_Head *list)
|
||||
-{
|
||||
- PyGC_Head *gc;
|
||||
- for (gc = GC_NEXT(list); gc != list; gc = GC_NEXT(list)) {
|
||||
- PyObject *op = FROM_GC(gc);
|
||||
- _PyObject_GC_UNTRACK(op);
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-
|
||||
void
|
||||
_PyGC_Fini(PyThreadState *tstate)
|
||||
{
|
||||
GCState *gcstate = &tstate->interp->gc;
|
||||
Py_CLEAR(gcstate->garbage);
|
||||
Py_CLEAR(gcstate->callbacks);
|
||||
-
|
||||
- if (!_Py_IsMainInterpreter(tstate)) {
|
||||
- // bpo-46070: Explicitly untrack all objects currently tracked by the
|
||||
- // GC. Otherwise, if an object is used later by another interpreter,
|
||||
- // calling PyObject_GC_UnTrack() on the object crashs if the previous
|
||||
- // or the next object of the PyGC_Head structure became a dangling
|
||||
- // pointer.
|
||||
- for (int i = 0; i < NUM_GENERATIONS; i++) {
|
||||
- PyGC_Head *gen = GEN_HEAD(gcstate, i);
|
||||
- gc_fini_untrack(gen);
|
||||
- }
|
||||
- }
|
||||
}
|
||||
|
||||
/* for debugging */
|
||||
--
|
||||
2.30.2
|
||||
|
Loading…
x
Reference in New Issue
Block a user