summaryrefslogtreecommitdiffstats
path: root/libjava
diff options
context:
space:
mode:
authormkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2005-02-22 21:11:29 +0000
committermkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2005-02-22 21:11:29 +0000
commit7fbb9fa3f811c635565b1e7714c73e68308447c5 (patch)
tree497bbfb3bbe4f45d9a578ff7c5fb18df847bae8c /libjava
parent61b9b73cf809725264e1b7721bbcec6bb88ab536 (diff)
downloadppe42-gcc-7fbb9fa3f811c635565b1e7714c73e68308447c5.tar.gz
ppe42-gcc-7fbb9fa3f811c635565b1e7714c73e68308447c5.zip
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95415 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog9
-rw-r--r--libjava/java/lang/reflect/Proxy.java2
-rw-r--r--libjava/java/net/URL.java6
-rw-r--r--libjava/java/security/SecureRandom.java4
-rw-r--r--libjava/java/util/Timer.java6
-rw-r--r--libjava/java/util/prefs/AbstractPreferences.java2
6 files changed, 27 insertions, 2 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 5c99a783417..ac99d3b2f15 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,12 @@
+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.
+
2005-02-22 David Gilbert <david.gilbert@object-refinery.com>
* java/awt/font/TransformAttribute.java,
diff --git a/libjava/java/lang/reflect/Proxy.java b/libjava/java/lang/reflect/Proxy.java
index dc65fca737b..3f13254fdc3 100644
--- a/libjava/java/lang/reflect/Proxy.java
+++ b/libjava/java/lang/reflect/Proxy.java
@@ -1347,7 +1347,7 @@ public class Proxy implements Serializable
return clazz;
}
- catch (Throwable e)
+ catch (Exception e)
{
// assert false;
throw (Error) new InternalError("Unexpected: " + e).initCause(e);
diff --git a/libjava/java/net/URL.java b/libjava/java/net/URL.java
index 96f97991280..7ab30513b7c 100644
--- a/libjava/java/net/URL.java
+++ b/libjava/java/net/URL.java
@@ -1,5 +1,5 @@
/* URL.java -- Uniform Resource Locator Class
- Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004
+ Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -918,6 +918,10 @@ public final class URL implements Serializable
Class c = Class.forName(clsName, true, systemClassLoader);
ph = (URLStreamHandler) c.newInstance();
}
+ catch (ThreadDeath death)
+ {
+ throw death;
+ }
catch (Throwable t) { /* ignored */ }
}
while (ph == null && pkgPrefix.hasMoreTokens());
diff --git a/libjava/java/security/SecureRandom.java b/libjava/java/security/SecureRandom.java
index 5ae1fa2934b..43841b274f2 100644
--- a/libjava/java/security/SecureRandom.java
+++ b/libjava/java/security/SecureRandom.java
@@ -112,6 +112,10 @@ public class SecureRandom extends Random
provider = p[i];
return;
}
+ catch (ThreadDeath death)
+ {
+ throw death;
+ }
catch (Throwable t)
{
// Ignore.
diff --git a/libjava/java/util/Timer.java b/libjava/java/util/Timer.java
index e4eb246a1db..3c7223b2782 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 69f4426e6d3..159a887c831 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;
}
OpenPOWER on IntegriCloud