From 54ac4f59478efd3ddf3050104d0b06ee8d19ef63 Mon Sep 17 00:00:00 2001 From: taras Date: Wed, 11 Sep 2024 00:12:46 +0200 Subject: [PATCH] Remove unnecessary try-finally blocks --- uvloop/loop.pyx | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/uvloop/loop.pyx b/uvloop/loop.pyx index 431a43e..d787611 100644 --- a/uvloop/loop.pyx +++ b/uvloop/loop.pyx @@ -96,39 +96,33 @@ cdef inline run_in_context(context, method): # 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: - Context_Enter(context) - try: - return method() - finally: - Context_Exit(context) + return method() finally: Py_DECREF(method) + Context_Exit(context) cdef inline run_in_context1(context, method, arg): + Context_Enter(context) Py_INCREF(method) try: - Context_Enter(context) - try: - return method(arg) - finally: - Context_Exit(context) + 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: - Context_Enter(context) - try: - return method(arg1, arg2) - finally: - Context_Exit(context) + return method(arg1, arg2) finally: Py_DECREF(method) + Context_Exit(context) # Used for deprecation and removal of `loop.create_datagram_endpoint()`'s