fix deadlock at vslice when no memory
This commit is contained in:
@ -174,7 +174,9 @@ public:
|
|||||||
blk2destroy = blk;
|
blk2destroy = blk;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
arena.ref(-1);
|
||||||
} else {
|
} else {
|
||||||
|
arena.ref(-1);
|
||||||
Block* nb = prepare_block();
|
Block* nb = prepare_block();
|
||||||
if (NULL == nb) {
|
if (NULL == nb) {
|
||||||
// alloc block fail, end
|
// alloc block fail, end
|
||||||
@ -186,7 +188,6 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
arena.ref(-1);
|
|
||||||
if (blk2destroy) {
|
if (blk2destroy) {
|
||||||
arena.sync();
|
arena.sync();
|
||||||
if (blk2destroy->retire(leak_pos)) {
|
if (blk2destroy->retire(leak_pos)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user