gentoo/dev-python/backports-zstd/files/backports-zstd-1.0.0-py313.patch
Michał Górny 72502a9c17
dev-python/backports-zstd: New package, v1.0.0
Yet another zstd implementation for Python, this time backporting
the support from Python 3.14.  Surely this won't lead to XKCD#927.

Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-10-21 09:08:57 +02:00

32 lines
1.2 KiB
Diff

From be7548ac9a08de3ae1a8cf3c47630336d65b656f Mon Sep 17 00:00:00 2001
From: Rogdham <contact@rogdham.net>
Date: Sun, 19 Oct 2025 09:06:31 +0200
Subject: [PATCH] fix: assertions on 3.13
---
src/c/compat/backports_zstd_edits.h | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/c/compat/backports_zstd_edits.h b/src/c/compat/backports_zstd_edits.h
index 1e4b9f7..4cf076c 100644
--- a/src/c/compat/backports_zstd_edits.h
+++ b/src/c/compat/backports_zstd_edits.h
@@ -107,12 +107,14 @@ static inline int BACKPORTSZSTD_LOCK_isLocked(PyThread_type_lock *mp)
#define BACKPORTSZSTD_LOCK_lock PyMutex_Lock
#define BACKPORTSZSTD_LOCK_unlock PyMutex_Unlock
#define BACKPORTSZSTD_LOCK_free(l)
+#if PY_VERSION_HEX < 0x030E0000 // Python 3.13 and below
static inline int BACKPORTSZSTD_LOCK_isLocked(PyMutex *lp)
{
- // note: this function is only used in asserts
- // PyMutex_IsLocked is not exposed publicly https://github.com/python/cpython/issues/134009
- Py_FatalError("Not implemented");
+ return (_Py_atomic_load_uint8(&lp->_bits) & _Py_LOCKED) != 0;
}
+#else // Python 3.14 and above
+#define BACKPORTSZSTD_LOCK_isLocked PyMutex_IsLocked
+#endif
#endif /* !BACKPORTSZSTD_LOCK */