summaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2005-03-09 20:10:18 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2005-03-09 20:10:18 +0000
commit15b9bf7599cd2be6b5cf276b1fde28bd94c6b774 (patch)
treef321f4fe3035a64d528e7b5c97b8ff295da6b621 /libjava
parent1504ff55fe203c6d4263a519aa7445e428cb2ef5 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--libjava/java/net/URLClassLoader.java36
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;
}
/**