From 41041fc2ac278ab937196aac357cfdb934a09473 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 9 Mar 2005 20:10:18 +0000 Subject: [PATCH] URLClassLoader.java (addURLImpl): Reset 'thisString'. * java/net/URLClassLoader.java (addURLImpl): Reset 'thisString'. (toString): Synchronize. From-SVN: r96205 --- libjava/ChangeLog | 5 +++++ libjava/java/net/URLClassLoader.java | 36 +++++++++++++++++++++--------------- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index d1a91d2..9d34f47 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2005-03-09 Tom Tromey + + * java/net/URLClassLoader.java (addURLImpl): Reset 'thisString'. + (toString): Synchronize. + 2005-03-08 Bryce McKinlay * testsuite/libjava.lang/pr13107_2.xfail: Remove xfail. diff --git a/libjava/java/net/URLClassLoader.java b/libjava/java/net/URLClassLoader.java index 919fc9d..9593e7d 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; } /** -- 2.7.4