diff options
author | Tom Tromey <tromey@redhat.com> | 2007-03-30 04:09:35 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2007-03-30 04:09:35 +0000 |
commit | cc5e1fab404f5c6c6f6f7e79c5626fc681eae97d (patch) | |
tree | 8b08d6e0dec0395e2de932fcd3c04af282a603c0 | |
parent | 1a54978869b510d5b712778ae5e32521459f3791 (diff) | |
download | gcc-cc5e1fab404f5c6c6f6f7e79c5626fc681eae97d.zip gcc-cc5e1fab404f5c6c6f6f7e79c5626fc681eae97d.tar.gz gcc-cc5e1fab404f5c6c6f6f7e79c5626fc681eae97d.tar.bz2 |
re PR libgcj/29869 (LogManager class loading failure with Tomcat)
libjava
PR libgcj/29869:
* java/util/logging/LogManager.java (readConfiguration): Handle
comma-separated 'handlers'. Don't try to add a non-existing
handler.
libgcj/classpath
PR libgcj/29869:
* gnu/java/util/jar/JarUtils.java (log): Commented out.
(readSFManifest): Don't log.
From-SVN: r123356
-rw-r--r-- | libjava/ChangeLog | 7 | ||||
-rw-r--r-- | libjava/classpath/ChangeLog | 6 | ||||
-rw-r--r-- | libjava/classpath/gnu/java/util/jar/JarUtils.java | 14 | ||||
-rw-r--r-- | libjava/classpath/lib/gnu/java/util/jar/JarUtils.class | bin | 9045 -> 8687 bytes | |||
-rw-r--r-- | libjava/classpath/lib/java/util/logging/LogManager$1.class | bin | 2265 -> 2265 bytes | |||
-rw-r--r-- | libjava/classpath/lib/java/util/logging/LogManager.class | bin | 13496 -> 13528 bytes | |||
-rw-r--r-- | libjava/java/util/logging/LogManager.java | 12 |
7 files changed, 32 insertions, 7 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 79ac5f4..318a4c2 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,10 @@ +2007-03-29 Tom Tromey <tromey@redhat.com> + + PR libgcj/29869: + * java/util/logging/LogManager.java (readConfiguration): Handle + comma-separated 'handlers'. Don't try to add a non-existing + handler. + 2007-03-27 Tom Tromey <tromey@redhat.com> * sources.am, Makefile.in: Rebuilt. diff --git a/libjava/classpath/ChangeLog b/libjava/classpath/ChangeLog index caa611a..3d3d23f 100644 --- a/libjava/classpath/ChangeLog +++ b/libjava/classpath/ChangeLog @@ -1,3 +1,9 @@ +2007-03-29 Tom Tromey <tromey@redhat.com> + + PR libgcj/29869: + * gnu/java/util/jar/JarUtils.java (log): Commented out. + (readSFManifest): Don't log. + 2007-03-28 Casey Marshall <csm@gnu.org> * gnu/javax/net/ssl/provider/ClientHandshake.java (RSAGen.implRun): diff --git a/libjava/classpath/gnu/java/util/jar/JarUtils.java b/libjava/classpath/gnu/java/util/jar/JarUtils.java index c35daec..9debf64 100644 --- a/libjava/classpath/gnu/java/util/jar/JarUtils.java +++ b/libjava/classpath/gnu/java/util/jar/JarUtils.java @@ -1,5 +1,5 @@ /* JarUtils.java -- Utility methods for reading/writing Manifest[-like] files - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -62,7 +62,10 @@ import java.util.logging.Logger; */ public abstract class JarUtils { - private static final Logger log = Logger.getLogger(JarUtils.class.getName()); + // We used to log here, but this causes problems during bootstrap, + // and it didn't seem worthwhile to preserve this. Still, this + // might be useful for debugging. + // private static final Logger log = Logger.getLogger(JarUtils.class.getName()); public static final String META_INF = "META-INF/"; public static final String DSA_SUFFIX = ".DSA"; public static final String SF_SUFFIX = ".SF"; @@ -112,9 +115,10 @@ public abstract class JarUtils { String version = expectHeader(version_header, br); attr.putValue(SIGNATURE_VERSION, version); - if (! DEFAULT_SF_VERSION.equals(version)) - log.warning("Unexpected version number: " + version - + ". Continue (but may fail later)"); + // This may cause problems during VM bootstrap. + // if (! DEFAULT_SF_VERSION.equals(version)) + // log.warning("Unexpected version number: " + version + // + ". Continue (but may fail later)"); } catch (IOException ioe) { diff --git a/libjava/classpath/lib/gnu/java/util/jar/JarUtils.class b/libjava/classpath/lib/gnu/java/util/jar/JarUtils.class Binary files differindex a1acf25..b2c6b89 100644 --- a/libjava/classpath/lib/gnu/java/util/jar/JarUtils.class +++ b/libjava/classpath/lib/gnu/java/util/jar/JarUtils.class diff --git a/libjava/classpath/lib/java/util/logging/LogManager$1.class b/libjava/classpath/lib/java/util/logging/LogManager$1.class Binary files differindex 927c28c..737e5e6 100644 --- a/libjava/classpath/lib/java/util/logging/LogManager$1.class +++ b/libjava/classpath/lib/java/util/logging/LogManager$1.class diff --git a/libjava/classpath/lib/java/util/logging/LogManager.class b/libjava/classpath/lib/java/util/logging/LogManager.class Binary files differindex 92da8e3..2a4e0b0 100644 --- a/libjava/classpath/lib/java/util/logging/LogManager.class +++ b/libjava/classpath/lib/java/util/logging/LogManager.class diff --git a/libjava/java/util/logging/LogManager.java b/libjava/java/util/logging/LogManager.java index 1e0192e..811310c 100644 --- a/libjava/java/util/logging/LogManager.java +++ b/libjava/java/util/logging/LogManager.java @@ -559,13 +559,21 @@ public class LogManager if ("handlers".equals(key)) { - StringTokenizer tokenizer = new StringTokenizer(value); + // In Java 5 and earlier this was specified to be + // whitespace-separated, but in reality it also accepted + // commas (tomcat relied on this), and in Java 6 the + // documentation was updated to fit the implementation. + StringTokenizer tokenizer = new StringTokenizer(value, + " \t\n\r\f,"); while (tokenizer.hasMoreTokens()) { String handlerName = tokenizer.nextToken(); Handler handler = (Handler) createInstance(handlerName, Handler.class, key); - Logger.root.addHandler(handler); + // Tomcat also relies on the implementation ignoring + // items in 'handlers' which are not class names. + if (handler != null) + Logger.root.addHandler(handler); } } |