aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/util
diff options
context:
space:
mode:
authorJeroen Frijters <jeroen@frijters.net>2005-02-22 21:11:29 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2005-02-22 21:11:29 +0000
commitb5abfc23443178e3476e2754206b9088cee4daba (patch)
tree497bbfb3bbe4f45d9a578ff7c5fb18df847bae8c /libjava/java/util
parent19b3ffbcaf816207be65b1ffb237810fe4ee0be0 (diff)
downloadgcc-b5abfc23443178e3476e2754206b9088cee4daba.zip
gcc-b5abfc23443178e3476e2754206b9088cee4daba.tar.gz
gcc-b5abfc23443178e3476e2754206b9088cee4daba.tar.bz2
Proxy.java, [...]: Don't catch java.lang.ThreadDeath.
2005-02-22 Jeroen Frijters <jeroen@frijters.net> * java/lang/reflect/Proxy.java, java/net/URL.java, java/security/SecureRandom.java, java/util/Timer.java, java/util/prefs/AbstractPreferences.java: Don't catch java.lang.ThreadDeath. From-SVN: r95415
Diffstat (limited to 'libjava/java/util')
-rw-r--r--libjava/java/util/Timer.java6
-rw-r--r--libjava/java/util/prefs/AbstractPreferences.java2
2 files changed, 8 insertions, 0 deletions
diff --git a/libjava/java/util/Timer.java b/libjava/java/util/Timer.java
index e4eb246..3c7223b 100644
--- a/libjava/java/util/Timer.java
+++ b/libjava/java/util/Timer.java
@@ -343,6 +343,12 @@ public class Timer
{
task.run();
}
+ catch (ThreadDeath death)
+ {
+ // If an exception escapes, the Timer becomes invalid.
+ queue.stop();
+ throw death;
+ }
catch (Throwable t)
{
/* ignore all errors */
diff --git a/libjava/java/util/prefs/AbstractPreferences.java b/libjava/java/util/prefs/AbstractPreferences.java
index 69f4426..159a887 100644
--- a/libjava/java/util/prefs/AbstractPreferences.java
+++ b/libjava/java/util/prefs/AbstractPreferences.java
@@ -550,6 +550,8 @@ public abstract class AbstractPreferences extends Preferences {
String value;
try {
value = getSpi(key);
+ } catch (ThreadDeath death) {
+ throw death;
} catch (Throwable t) {
value = null;
}