6954525: Testcase failure java/net/Authenticator/B4769350.java
authorchegar
Mon, 28 Jun 2010 14:55:25 +0100
changeset 5979 26b9b2b1b37b
parent 5975 076cd013e5e4
child 5980 38a40caa84fc
6954525: Testcase failure java/net/Authenticator/B4769350.java Reviewed-by: michaelm, weijun
jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java
jdk/test/java/net/Authenticator/B4769350.java
--- a/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java	Thu Jun 24 14:26:35 2010 +0800
+++ b/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java	Mon Jun 28 14:55:25 2010 +0100
@@ -2331,7 +2331,7 @@
      * closed the connection to the web server.
      */
     private void disconnectWeb() throws IOException {
-        if (usingProxy()) {
+        if (usingProxy() && http.isKeepingAlive()) {
             responseCode = -1;
             // clean up, particularly, skip the content part
             // of a 401 error response
--- a/jdk/test/java/net/Authenticator/B4769350.java	Thu Jun 24 14:26:35 2010 +0800
+++ b/jdk/test/java/net/Authenticator/B4769350.java	Mon Jun 28 14:55:25 2010 +0100
@@ -54,6 +54,7 @@
         boolean allowerror;
 
         Client (String authority, String path, boolean allowerror) {
+            super("Thread-" + path);
             this.authority = authority;
             this.path = path;
             this.allowerror = allowerror;
@@ -72,7 +73,8 @@
                 error = true;
             } catch (IOException e) {
                 if (!allowerror) {
-                    System.out.println (e);
+                    System.out.println (Thread.currentThread().getName() + " " + e);
+                    e.printStackTrace();
                     error = true;
                 }
             }
@@ -94,6 +96,7 @@
         }
 
         void okReply (HttpTransaction req) throws IOException {
+            req.addResponseHeader ("Connection", "close");
             req.setResponseEntityBody ("Hello .");
             req.sendResponse (200, "Ok");
             req.orderlyClose();