Skip to content

Commit

Permalink
Don't increase refcount in run_in_context since cython does it for us
Browse files Browse the repository at this point in the history
  • Loading branch information
taras committed Sep 11, 2024
1 parent 54ac4f5 commit 1721fb9
Showing 1 changed file with 0 additions and 10 deletions.
10 changes: 0 additions & 10 deletions uvloop/loop.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -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)


Expand Down

0 comments on commit 1721fb9

Please sign in to comment.