File tree Expand file tree Collapse file tree 3 files changed +8
-11
lines changed Expand file tree Collapse file tree 3 files changed +8
-11
lines changed Original file line number Diff line number Diff line change @@ -17,7 +17,7 @@ cdef class UVHandle:
17
17
cdef _error(self , exc, throw)
18
18
cdef _fatal_error(self , exc, throw, reason = ?)
19
19
20
- cdef _free(self )
20
+ cdef inline _free(self )
21
21
cdef _close(self )
22
22
23
23
Original file line number Diff line number Diff line change @@ -70,8 +70,7 @@ cdef class UVHandle:
70
70
self ._closed = 1
71
71
self ._free()
72
72
73
-
74
- cdef _free(self ):
73
+ cdef inline _free(self ):
75
74
PyMem_Free(self ._handle)
76
75
self ._handle = NULL
77
76
@@ -303,17 +302,17 @@ cdef void __uv_close_handle_cb(uv.uv_handle_t* handle) with gil:
303
302
PyMem_Free(handle)
304
303
return
305
304
306
- if < object > handle.data is not __NOHANDLE__:
305
+ if < object > handle.data is __NOHANDLE__:
306
+ # The original UVHandle is long dead. Just free the mem of
307
+ # the uv_handle_t* handler.
308
+ PyMem_Free(handle)
309
+ else :
307
310
h = < UVHandle> handle.data
308
- h._handle = NULL
309
311
IF DEBUG:
310
312
h._loop._debug_handles_closed.update([
311
313
h.__class__ .__name__ ])
312
314
h._free()
313
315
Py_DECREF(h) # Was INCREFed in UVHandle._close
314
- return
315
-
316
- PyMem_Free(handle)
317
316
318
317
319
318
cdef void __close_all_handles(Loop loop):
Original file line number Diff line number Diff line change @@ -177,7 +177,7 @@ cdef class UVProcess(UVHandle):
177
177
' UVProcess._close_after_spawn called after uv_spawn' )
178
178
self ._fds_to_close.add(fd)
179
179
180
- cdef _free (self ):
180
+ def __dealloc__ (self ):
181
181
if self .uv_opt_env is not NULL :
182
182
PyMem_Free(self .uv_opt_env)
183
183
self .uv_opt_env = NULL
@@ -186,8 +186,6 @@ cdef class UVProcess(UVHandle):
186
186
PyMem_Free(self .uv_opt_args)
187
187
self .uv_opt_args = NULL
188
188
189
- UVHandle._free(self )
190
-
191
189
cdef char ** __to_cstring_array(self , list arr):
192
190
cdef:
193
191
int i
You can’t perform that action at this time.
0 commit comments