mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-08 23:13:10 -04:00
chunk mesher: properly cleanup tasks, requeue on interrupt
This commit is contained in:
parent
37c3c81d83
commit
534352400b
@ -68,11 +68,12 @@ class ChunkMesher(
|
||||
fun tryMesh(item: WorldQueueItem, task: MeshPrepareTask, runnable: InterruptableRunnable) {
|
||||
try {
|
||||
mesh(item, runnable)
|
||||
renderer.meshingQueue.tasks -= task
|
||||
} catch (ignored: InterruptedException) {
|
||||
renderer.meshingQueue.queue(item)
|
||||
} finally {
|
||||
task.runnable.interruptable = false
|
||||
Thread.interrupted() // clear interrupted flag
|
||||
renderer.meshingQueue.tasks -= task
|
||||
renderer.meshingQueue.work()
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user