Slightly better practice because wait can be randomly interupted.

This commit is contained in:
LexManos 2016-05-03 23:19:40 -07:00
parent 4248dbc71d
commit 42404c531d

View file

@ -45,17 +45,20 @@ public class ChunkIOExecutor
ChunkIOProvider task = tasks.get(key); ChunkIOProvider task = tasks.get(key);
if (task != null) if (task != null)
{ {
if (!pool.remove(task) && !task.runFinished()) // If it wasn't in the pool, and run hasn't finished, then wait for the async thread. if (!pool.remove(task)) // If it wasn't in the pool, and run hasn't finished, then wait for the async thread.
{ {
synchronized(task) while (!task.runFinished())
{ {
try synchronized(task)
{ {
task.wait(); try
} {
catch (InterruptedException e) task.wait();
{ }
e.printStackTrace(); // Something happened? Log it? catch (InterruptedException e)
{
e.printStackTrace(); // Something happened? Log it?
}
} }
} }
} }