diff options
| author | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-02-22 21:11:29 +0000 |
|---|---|---|
| committer | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-02-22 21:11:29 +0000 |
| commit | 7fbb9fa3f811c635565b1e7714c73e68308447c5 (patch) | |
| tree | 497bbfb3bbe4f45d9a578ff7c5fb18df847bae8c /libjava | |
| parent | 61b9b73cf809725264e1b7721bbcec6bb88ab536 (diff) | |
| download | ppe42-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/ChangeLog | 9 | ||||
| -rw-r--r-- | libjava/java/lang/reflect/Proxy.java | 2 | ||||
| -rw-r--r-- | libjava/java/net/URL.java | 6 | ||||
| -rw-r--r-- | libjava/java/security/SecureRandom.java | 4 | ||||
| -rw-r--r-- | libjava/java/util/Timer.java | 6 | ||||
| -rw-r--r-- | libjava/java/util/prefs/AbstractPreferences.java | 2 |
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; } |

