Skip to content

Commit 235b928

Browse files
committed
Stop disable/enable gc.
json and pickle modules don't stop gc. It's a very dirty hack.
1 parent 6aa4aea commit 235b928

File tree

1 file changed

+1
-11
lines changed

1 file changed

+1
-11
lines changed

msgpack/_msgpack.pyx

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,6 @@ from libc.string cimport *
1313
from libc.limits cimport *
1414

1515

16-
import gc
17-
_gc_disable = gc.disable
18-
_gc_enable = gc.enable
19-
2016
cdef extern from "pack.h":
2117
struct msgpack_packer:
2218
char* buf
@@ -242,11 +238,7 @@ def unpackb(object packed, object object_hook=None, object list_hook=None,
242238
if not PyCallable_Check(list_hook):
243239
raise TypeError("list_hook must be a callable.")
244240
ctx.user.list_hook = <PyObject*>list_hook
245-
_gc_disable()
246-
try:
247-
ret = template_execute(&ctx, buf, buf_len, &off)
248-
finally:
249-
_gc_enable()
241+
ret = template_execute(&ctx, buf, buf_len, &off)
250242
if ret == 1:
251243
return template_data(&ctx)
252244
else:
@@ -444,9 +436,7 @@ cdef class Unpacker(object):
444436
"""unpack one object"""
445437
cdef int ret
446438
while 1:
447-
_gc_disable()
448439
ret = template_execute(&self.ctx, self.buf, self.buf_tail, &self.buf_head)
449-
_gc_enable()
450440
if ret == 1:
451441
o = template_data(&self.ctx)
452442
template_init(&self.ctx)

0 commit comments

Comments
 (0)