From b5873d5131c633cdeb665e257f734ca3d2ffe1a7 Mon Sep 17 00:00:00 2001 From: taras Date: Wed, 11 Sep 2024 02:03:25 +0200 Subject: [PATCH] Don't increase refcount in run_in_context since cython does it for us --- uvloop/loop.pyx | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/uvloop/loop.pyx b/uvloop/loop.pyx index d787611..fc3dbff 100644 --- a/uvloop/loop.pyx +++ b/uvloop/loop.pyx @@ -92,36 +92,26 @@ cdef inline socket_dec_io_ref(sock): cdef inline run_in_context(context, method): - # This method is internally used to workaround a reference issue that in - # certain circumstances, inlined context.run() will not hold a reference to - # the given method instance, which - if deallocated - will cause segfault. - # See also: edgedb/edgedb#2222 Context_Enter(context) - Py_INCREF(method) try: return method() finally: - Py_DECREF(method) Context_Exit(context) cdef inline run_in_context1(context, method, arg): Context_Enter(context) - Py_INCREF(method) try: return method(arg) finally: - Py_DECREF(method) Context_Exit(context) cdef inline run_in_context2(context, method, arg1, arg2): Context_Enter(context) - Py_INCREF(method) try: return method(arg1, arg2) finally: - Py_DECREF(method) Context_Exit(context)