diff options
author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-09 20:10:18 +0000 |
---|---|---|
committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-09 20:10:18 +0000 |
commit | 15b9bf7599cd2be6b5cf276b1fde28bd94c6b774 (patch) | |
tree | f321f4fe3035a64d528e7b5c97b8ff295da6b621 /libjava | |
parent | 1504ff55fe203c6d4263a519aa7445e428cb2ef5 (diff) | |
download | gcc-15b9bf7599cd2be6b5cf276b1fde28bd94c6b774.tar.gz |
* java/net/URLClassLoader.java (addURLImpl): Reset 'thisString'.
(toString): Synchronize.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96205 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/ChangeLog | 5 | ||||
-rw-r--r-- | libjava/java/net/URLClassLoader.java | 36 |
2 files changed, 26 insertions, 15 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index d1a91d2be71..9d34f47adea 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2005-03-09 Tom Tromey <tromey@redhat.com> + + * java/net/URLClassLoader.java (addURLImpl): Reset 'thisString'. + (toString): Synchronize. + 2005-03-08 Bryce McKinlay <mckinlay@redhat.com> * testsuite/libjava.lang/pr13107_2.xfail: Remove xfail. diff --git a/libjava/java/net/URLClassLoader.java b/libjava/java/net/URLClassLoader.java index 919fc9de0f6..9593e7d0fb0 100644 --- a/libjava/java/net/URLClassLoader.java +++ b/libjava/java/net/URLClassLoader.java @@ -799,6 +799,9 @@ public class URLClassLoader extends SecureClassLoader if (newUrl == null) return; // Silently ignore... + // Reset the toString() value. + thisString = null; + // Check global cache to see if there're already url loader // for this url. URLLoader loader = (URLLoader) urlloaders.get(newUrl); @@ -1020,25 +1023,28 @@ public class URLClassLoader extends SecureClassLoader */ public String toString() { - if (thisString == null) + synchronized (urlloaders) { - StringBuffer sb = new StringBuffer(); - sb.append(this.getClass().getName()); - sb.append("{urls=[" ); - URL[] thisURLs = getURLs(); - for (int i = 0; i < thisURLs.length; i++) + if (thisString == null) { - sb.append(thisURLs[i]); - if (i < thisURLs.length - 1) - sb.append(','); + StringBuffer sb = new StringBuffer(); + sb.append(this.getClass().getName()); + sb.append("{urls=[" ); + URL[] thisURLs = getURLs(); + for (int i = 0; i < thisURLs.length; i++) + { + sb.append(thisURLs[i]); + if (i < thisURLs.length - 1) + sb.append(','); + } + sb.append(']'); + sb.append(", parent="); + sb.append(getParent()); + sb.append('}'); + thisString = sb.toString(); } - sb.append(']'); - sb.append(", parent="); - sb.append(getParent()); - sb.append('}'); - thisString = sb.toString(); + return thisString; } - return thisString; } /** |