mirror of
https://github.com/openjdk/jdk.git
synced 2026-07-10 02:59:20 +00:00
6693244: Java Web Start app fails on 6u10 beta w/ AssertionError in AuthenticationInfo.requestCompleted
Reviewed-by: michaelm
This commit is contained in:
parent
eee94572e3
commit
ee38364a92
@ -111,7 +111,7 @@ public abstract class AuthenticationInfo extends AuthCacheValue implements Clone
|
||||
* at the same time, then all but the first will block until
|
||||
* the first completes its authentication.
|
||||
*/
|
||||
static private HashMap requests = new HashMap ();
|
||||
static private HashMap<String,Thread> requests = new HashMap<>();
|
||||
|
||||
/* check if a request for this destination is in progress
|
||||
* return false immediately if not. Otherwise block until
|
||||
@ -125,7 +125,7 @@ public abstract class AuthenticationInfo extends AuthCacheValue implements Clone
|
||||
synchronized (requests) {
|
||||
Thread t, c;
|
||||
c = Thread.currentThread();
|
||||
if ((t=(Thread)requests.get(key))==null) {
|
||||
if ((t = requests.get(key)) == null) {
|
||||
requests.put (key, c);
|
||||
return false;
|
||||
}
|
||||
@ -147,8 +147,11 @@ public abstract class AuthenticationInfo extends AuthCacheValue implements Clone
|
||||
*/
|
||||
static private void requestCompleted (String key) {
|
||||
synchronized (requests) {
|
||||
boolean waspresent = requests.remove (key) != null;
|
||||
assert waspresent;
|
||||
Thread thread = requests.get(key);
|
||||
if (thread != null && thread == Thread.currentThread()) {
|
||||
boolean waspresent = requests.remove(key) != null;
|
||||
assert waspresent;
|
||||
}
|
||||
requests.notifyAll();
|
||||
}
|
||||
}
|
||||
|
||||
@ -692,7 +692,6 @@ java/net/URLConnection/TimeoutTest.java generic-all
|
||||
java/net/URLConnection/ZeroContentLength.java generic-all
|
||||
|
||||
# Solaris 11 i586 fails with samevm, not sure why
|
||||
java/net/Authenticator/B4769350.java generic-all
|
||||
java/net/HttpURLConnection/HttpResponseCode.java generic-all
|
||||
java/net/ResponseCache/B6181108.java generic-all
|
||||
java/net/ResponseCache/ResponseCacheTest.java generic-all
|
||||
|
||||
@ -26,9 +26,12 @@
|
||||
* @bug 4769350
|
||||
* @library ../../../sun/net/www/httptest/
|
||||
* @build HttpCallback HttpServer ClosedChannelList HttpTransaction AbstractCallback
|
||||
* @run main B4769350 server
|
||||
* @run main B4769350 proxy
|
||||
* @run main/othervm B4769350 server
|
||||
* @run main/othervm B4769350 proxy
|
||||
* @summary proxy authentication username and password caching only works in serial case
|
||||
* Run in othervm since the test sets system properties that are read by the
|
||||
* networking stack and cached when the HTTP handler is invoked, and previous
|
||||
* tests may already have invoked the HTTP handler.
|
||||
*/
|
||||
|
||||
import java.io.*;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user