mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2024-12-22 17:27:38 +00:00
Actually implement ChunkHolder/ChunkSet pools (#1840)
This commit is contained in:
parent
800988aae7
commit
8094b68967
@ -67,7 +67,13 @@ public class ChunkHolder<T extends Future<T>> implements IQueueChunk<T> {
|
||||
@Override
|
||||
public synchronized void recycle() {
|
||||
delegate = NULL;
|
||||
chunkSet = null;
|
||||
if (chunkSet != null) {
|
||||
chunkSet.recycle();
|
||||
chunkSet = null;
|
||||
}
|
||||
chunkExisting = null;
|
||||
extent = null;
|
||||
POOL.offer(this);
|
||||
}
|
||||
|
||||
public synchronized IBlockDelegate getDelegate() {
|
||||
@ -1039,7 +1045,9 @@ public class ChunkHolder<T extends Future<T>> implements IQueueChunk<T> {
|
||||
chunkSet.setBitMask(bitMask);
|
||||
try {
|
||||
return this.call(chunkSet, () -> {
|
||||
recycle();
|
||||
this.delegate = NULL;
|
||||
chunkSet.recycle();
|
||||
chunkSet = null;
|
||||
calledLock.unlock(stamp);
|
||||
});
|
||||
} catch (Throwable t) {
|
||||
|
Loading…
Reference in New Issue
Block a user