summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Talbert <swt@techie.net>2022-11-30 23:19:09 -0500
committerScott Talbert <swt@techie.net>2022-11-30 23:19:09 -0500
commit16a1a23db2ab5353224d4050b9b558a3f5d7f703 (patch)
tree8f898e541b20d7afffab7b2955c969824fac2a4e
parent653b3f4df0625ec6893bb0c40bdbc38b684628b0 (diff)
downloadpycurl-16a1a23db2ab5353224d4050b9b558a3f5d7f703.tar.gz
Remove use of deprecated Py_TRASHCAN_SAFE_BEGIN / Py_TRASHCAN_SAFE_END
Replace it with Py_TRASHCAN_BEGIN / Py_TRASHCAN_END on Python 3.8+.
-rw-r--r--src/easy.c4
-rw-r--r--src/multi.c4
-rw-r--r--src/pycurl.h8
-rw-r--r--src/share.c4
4 files changed, 14 insertions, 6 deletions
diff --git a/src/easy.c b/src/easy.c
index 4fe6cee..1b3464a 100644
--- a/src/easy.c
+++ b/src/easy.c
@@ -606,13 +606,13 @@ PYCURL_INTERNAL void
do_curl_dealloc(CurlObject *self)
{
PyObject_GC_UnTrack(self);
- Py_TRASHCAN_SAFE_BEGIN(self);
+ CPy_TRASHCAN_BEGIN(self, do_curl_dealloc);
Py_CLEAR(self->dict);
util_curl_close(self);
Curl_Type.tp_free(self);
- Py_TRASHCAN_SAFE_END(self);
+ CPy_TRASHCAN_END(self);
}
diff --git a/src/multi.c b/src/multi.c
index ebe129f..3dbc3fc 100644
--- a/src/multi.c
+++ b/src/multi.c
@@ -117,7 +117,7 @@ PYCURL_INTERNAL void
do_multi_dealloc(CurlMultiObject *self)
{
PyObject_GC_UnTrack(self);
- Py_TRASHCAN_SAFE_BEGIN(self);
+ CPy_TRASHCAN_BEGIN(self, do_multi_dealloc);
util_multi_xdecref(self);
util_multi_close(self);
@@ -127,7 +127,7 @@ do_multi_dealloc(CurlMultiObject *self)
}
CurlMulti_Type.tp_free(self);
- Py_TRASHCAN_SAFE_END(self);
+ CPy_TRASHCAN_END(self);
}
diff --git a/src/pycurl.h b/src/pycurl.h
index 6f70a9a..9a97f0b 100644
--- a/src/pycurl.h
+++ b/src/pycurl.h
@@ -693,5 +693,13 @@ extern PyMethodDef curlmultiobject_methods[];
# define PYCURL_TYPE_FLAGS Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_WEAKREFS | Py_TPFLAGS_BASETYPE
#endif
+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 8
+# define CPy_TRASHCAN_BEGIN(op, dealloc) Py_TRASHCAN_BEGIN(op, dealloc)
+# define CPy_TRASHCAN_END(op) Py_TRASHCAN_END
+#else
+# define CPy_TRASHCAN_BEGIN(op, dealloc) Py_TRASHCAN_SAFE_BEGIN(op)
+# define CPy_TRASHCAN_END(op) Py_TRASHCAN_SAFE_END(op)
+#endif
+
/* vi:ts=4:et:nowrap
*/
diff --git a/src/share.c b/src/share.c
index 27e49ac..94b25b4 100644
--- a/src/share.c
+++ b/src/share.c
@@ -119,7 +119,7 @@ PYCURL_INTERNAL void
do_share_dealloc(CurlShareObject *self)
{
PyObject_GC_UnTrack(self);
- Py_TRASHCAN_SAFE_BEGIN(self);
+ CPy_TRASHCAN_BEGIN(self, do_share_dealloc);
Py_CLEAR(self->dict);
util_share_close(self);
@@ -133,7 +133,7 @@ do_share_dealloc(CurlShareObject *self)
}
CurlShare_Type.tp_free(self);
- Py_TRASHCAN_SAFE_END(self);
+ CPy_TRASHCAN_END(self);
}