diff --git a/engine/src/main/java/org/terasology/engine/core/GameThread.java b/engine/src/main/java/org/terasology/engine/core/GameThread.java index 052bec296bf..cafb25c3725 100644 --- a/engine/src/main/java/org/terasology/engine/core/GameThread.java +++ b/engine/src/main/java/org/terasology/engine/core/GameThread.java @@ -70,9 +70,10 @@ public static void synch(Runnable process) throws InterruptedException { */ public static void processWaitingProcesses() { if (Thread.currentThread() == gameThread) { - List processes = Lists.newArrayList(); - pendingRunnables.drainTo(processes); - processes.forEach(Runnable::run); + Runnable inst; + while((inst =pendingRunnables.poll()) != null) { + inst.run(); + } } }