From 16a1a23db2ab5353224d4050b9b558a3f5d7f703 Mon Sep 17 00:00:00 2001 From: Scott Talbert Date: Wed, 30 Nov 2022 23:19:09 -0500 Subject: 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+. --- src/easy.c | 4 ++-- src/multi.c | 4 ++-- src/pycurl.h | 8 ++++++++ src/share.c | 4 ++-- 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); } -- cgit v1.2.1