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);
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();
}
catch (InterruptedException e)
{
e.printStackTrace(); // Something happened? Log it?
try
{
task.wait();
}
catch (InterruptedException e)
{
e.printStackTrace(); // Something happened? Log it?
}
}
}
}