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
This commit is contained in:
Jeroen Frijters 2005-02-22 21:11:29 +00:00 committed by Michael Koch
parent 19b3ffbcaf
commit b5abfc2344
6 changed files with 27 additions and 2 deletions

View File

@ -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,

View File

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

View File

@ -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());

View File

@ -112,6 +112,10 @@ public class SecureRandom extends Random
provider = p[i];
return;
}
catch (ThreadDeath death)
{
throw death;
}
catch (Throwable t)
{
// Ignore.

View File

@ -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 */

View File

@ -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;
}