File tree Expand file tree Collapse file tree 4 files changed +8
-29
lines changed Expand file tree Collapse file tree 4 files changed +8
-29
lines changed Original file line number Diff line number Diff line change @@ -249,6 +249,7 @@ cdef class AddrInfoRequest(UVRequest):
249
249
cdef:
250
250
system.addrinfo hints
251
251
object callback
252
+ uv.uv_getaddrinfo_t _req_data
252
253
253
254
def __cinit__ (self , Loop loop ,
254
255
bytes host , bytes port ,
@@ -283,12 +284,7 @@ cdef class AddrInfoRequest(UVRequest):
283
284
self .hints.ai_socktype = type
284
285
self .hints.ai_protocol = proto
285
286
286
- self .request = < uv.uv_req_t* > PyMem_RawMalloc(
287
- sizeof(uv.uv_getaddrinfo_t))
288
- if self .request is NULL :
289
- self .on_done()
290
- raise MemoryError ()
291
-
287
+ self .request = < uv.uv_req_t* > & self ._req_data
292
288
self .callback = callback
293
289
self .request.data = < void * > self
294
290
@@ -307,14 +303,10 @@ cdef class AddrInfoRequest(UVRequest):
307
303
cdef class NameInfoRequest(UVRequest):
308
304
cdef:
309
305
object callback
306
+ uv.uv_getnameinfo_t _req_data
310
307
311
308
def __cinit__ (self , Loop loop , callback ):
312
- self .request = < uv.uv_req_t* > PyMem_RawMalloc(
313
- sizeof(uv.uv_getnameinfo_t))
314
- if self .request is NULL :
315
- self .on_done()
316
- raise MemoryError ()
317
-
309
+ self .request = < uv.uv_req_t* > & self ._req_data
318
310
self .callback = callback
319
311
self .request.data = < void * > self
320
312
Original file line number Diff line number Diff line change @@ -176,12 +176,10 @@ cdef class WriteUnixTransport(UVStream):
176
176
cdef class _PipeConnectRequest(UVRequest):
177
177
cdef:
178
178
UnixTransport transport
179
+ uv.uv_connect_t _req_data
179
180
180
181
def __cinit__ (self , loop , transport ):
181
- self .request = < uv.uv_req_t* > PyMem_RawMalloc(sizeof(uv.uv_connect_t))
182
- if self .request is NULL :
183
- self .on_done()
184
- raise MemoryError ()
182
+ self .request = < uv.uv_req_t* > & self ._req_data
185
183
self .request.data = < void * > self
186
184
self .transport = transport
187
185
Original file line number Diff line number Diff line change @@ -179,12 +179,10 @@ cdef class TCPTransport(UVStream):
179
179
cdef class _TCPConnectRequest(UVRequest):
180
180
cdef:
181
181
TCPTransport transport
182
+ uv.uv_connect_t _req_data
182
183
183
184
def __cinit__ (self , loop , transport ):
184
- self .request = < uv.uv_req_t* > PyMem_RawMalloc(sizeof(uv.uv_connect_t))
185
- if self .request is NULL :
186
- self .on_done()
187
- raise MemoryError ()
185
+ self .request = < uv.uv_req_t* > & self ._req_data
188
186
self .request.data = < void * > self
189
187
self .transport = transport
190
188
Original file line number Diff line number Diff line change @@ -13,15 +13,6 @@ cdef class UVRequest:
13
13
self .done = 0
14
14
Py_INCREF(self )
15
15
16
- def __dealloc__ (self ):
17
- if self .request is not NULL :
18
- if self .done == 0 :
19
- raise RuntimeError (
20
- ' Unable to deallocate request for {!r} (not done)'
21
- .format(self ))
22
- PyMem_RawFree(self .request)
23
- self .request = NULL
24
-
25
16
cdef on_done(self ):
26
17
self .done = 1
27
18
Py_DECREF(self )
You can’t perform that action at this time.
0 commit comments