mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 03:20:18 +00:00
fix memory leak of new allocator
This commit is contained in:
parent
1260987ead
commit
ba25fd4710
@ -52,6 +52,7 @@ static int PoolArena__sweep_dealloc(PoolArena* self) {
|
|||||||
} else {
|
} else {
|
||||||
if(!obj->gc_marked) {
|
if(!obj->gc_marked) {
|
||||||
// not marked, need to free
|
// not marked, need to free
|
||||||
|
PyObject__dtor(obj);
|
||||||
obj->type = 0;
|
obj->type = 0;
|
||||||
freed++;
|
freed++;
|
||||||
self->unused[self->unused_length] = i;
|
self->unused[self->unused_length] = i;
|
||||||
|
@ -49,7 +49,6 @@ bool py_deldict(py_Ref self, py_Name name) {
|
|||||||
assert(self && self->is_ptr);
|
assert(self && self->is_ptr);
|
||||||
if(!py_ismagicname(name) || self->type != tp_type) {
|
if(!py_ismagicname(name) || self->type != tp_type) {
|
||||||
return NameDict__del(PyObject__dict(self->_obj), name);
|
return NameDict__del(PyObject__dict(self->_obj), name);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
py_Type* ud = py_touserdata(self);
|
py_Type* ud = py_touserdata(self);
|
||||||
py_newnil(py_tpgetmagic(*ud, name));
|
py_newnil(py_tpgetmagic(*ud, name));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user