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:
Tom Tromey 2001-11-13 23:09:23 +00:00 committed by Tom Tromey
parent c19083d852
commit f9d44b00b6
2 changed files with 18 additions and 2 deletions

View File

@ -1,3 +1,10 @@
2001-11-13 Tom Tromey <tromey@redhat.com>
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.
2001-11-07 Tom Tromey <tromey@redhat.com>
* Makefile.in: Rebuilt.

View File

@ -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)
{