changeset 1127:2e34ef54a93a

6630639: lightweight HttpServer leaks file descriptors on no-data connections Summary: not cleaning up no-data connections properly Reviewed-by: chegar
author michaelm
date Tue, 10 Mar 2009 03:18:22 -0700
parents 51f13571014c
children ea88236be621
files src/share/classes/sun/net/httpserver/Request.java src/share/classes/sun/net/httpserver/ServerImpl.java
diffstat 2 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/classes/sun/net/httpserver/Request.java	Fri Mar 06 12:40:38 2009 +0300
+++ b/src/share/classes/sun/net/httpserver/Request.java	Tue Mar 10 03:18:22 2009 -0700
@@ -52,6 +52,9 @@
         os = rawout;
         do {
             startLine = readLine();
+            if (startLine == null) {
+                return;
+            }
             /* skip blank lines */
         } while (startLine.equals (""));
     }
--- a/src/share/classes/sun/net/httpserver/ServerImpl.java	Fri Mar 06 12:40:38 2009 +0300
+++ b/src/share/classes/sun/net/httpserver/ServerImpl.java	Tue Mar 10 03:18:22 2009 -0700
@@ -441,6 +441,7 @@
                         rawin = sslStreams.getInputStream();
                         rawout = sslStreams.getOutputStream();
                         engine = sslStreams.getSSLEngine();
+                        connection.sslStreams = sslStreams;
                     } else {
                         rawin = new BufferedInputStream(
                             new Request.ReadStream (
@@ -450,6 +451,8 @@
                             ServerImpl.this, chan
                         );
                     }
+                    connection.raw = rawin;
+                    connection.rawout = rawout;
                 }
                 Request req = new Request (rawin, rawout);
                 requestLine = req.requestLine();