Fixed Python object leak in RemotePromise

This commit is contained in:
Yuval Katsnelson
2017-12-06 10:48:38 +02:00
parent add8af4bc9
commit a73395e7bb

View File

@@ -1958,9 +1958,6 @@ cdef class _RemotePromise:
if args_length - defaults_length != 1: if args_length - defaults_length != 1:
raise KjException('Function passed to `then` call must take exactly one argument') raise KjException('Function passed to `then` call must take exactly one argument')
Py_INCREF(func)
Py_INCREF(error_func)
cdef Promise new_promise = Promise()._init(helpers.then(deref(self.thisptr), <PyObject *>func, <PyObject *>error_func), self) cdef Promise new_promise = Promise()._init(helpers.then(deref(self.thisptr), <PyObject *>func, <PyObject *>error_func), self)
return Promise()._init(new_promise.thisptr.attach(capnp.makePyRefCounter(<PyObject *>func), capnp.makePyRefCounter(<PyObject *>error_func)), new_promise) return Promise()._init(new_promise.thisptr.attach(capnp.makePyRefCounter(<PyObject *>func), capnp.makePyRefCounter(<PyObject *>error_func)), new_promise)