re PR libgcj/4859 (java.util.Timer class throw IllegalStateException on cancel())
Fix for PR libgcj/4859: * java/util/Timer.java (TaskQueue.isStopped): New method. (Scheduler.run): Don't re-schedule task if queue has been stopped. From-SVN: r46994
This commit is contained in:
parent
c19083d852
commit
f9d44b00b6
2 changed files with 18 additions and 2 deletions
|
@ -285,6 +285,14 @@ public class Timer
|
|||
this.notify();
|
||||
}
|
||||
|
||||
/**
|
||||
* This method returns <code>true</code> if the queue has been
|
||||
* stopped.
|
||||
*/
|
||||
public synchronized boolean isStopped ()
|
||||
{
|
||||
return this.heap == null;
|
||||
}
|
||||
} // TaskQueue
|
||||
|
||||
/**
|
||||
|
@ -337,8 +345,9 @@ public class Timer
|
|||
}
|
||||
}
|
||||
|
||||
// Calculate next time and possibly re-enqueue
|
||||
if (task.scheduled >= 0)
|
||||
// Calculate next time and possibly re-enqueue.
|
||||
// Don't bother re-scheduling if the queue has been stopped.
|
||||
if (! queue.isStopped () && task.scheduled >= 0)
|
||||
{
|
||||
if (task.fixed)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue