diff options
author | Greg Wilkins | 2012-08-16 05:25:08 +0000 |
---|---|---|
committer | Greg Wilkins | 2012-08-16 05:25:08 +0000 |
commit | 6d2da78aac2eec0f5df3182e5d453df2eb31c9aa (patch) | |
tree | b1548a60dbfb6fe8a321406d9c485e17d7ec2aa7 | |
parent | ff76201050e3a9b8672366d878bab4361a8f44f4 (diff) | |
download | org.eclipse.jetty.project-6d2da78aac2eec0f5df3182e5d453df2eb31c9aa.tar.gz org.eclipse.jetty.project-6d2da78aac2eec0f5df3182e5d453df2eb31c9aa.tar.xz org.eclipse.jetty.project-6d2da78aac2eec0f5df3182e5d453df2eb31c9aa.zip |
jetty-9 more commit fixes
4 files changed, 11 insertions, 19 deletions
diff --git a/jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java b/jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java index 18466b0342..ccc1b89099 100644 --- a/jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java +++ b/jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java @@ -1132,7 +1132,6 @@ public class HttpParser } LOG.debug("shutdownInput {}",this); - } /* ------------------------------------------------------------------------------- */ diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java index 5dda2a11ed..8ee1980238 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java @@ -185,13 +185,6 @@ public class HttpConnection extends AbstractConnection } } - @Override - public void fillInterested() - { - // new Throwable().printStackTrace(); - super.fillInterested(); - } - /* ------------------------------------------------------------ */ /** Parse and handle HTTP messages. * <p> @@ -215,9 +208,6 @@ public class HttpConnection extends AbstractConnection // TODO try to generalize this loop into AbstractConnection while (true) { - // synchronized (_lock) - { - // Fill the request buffer with data only if it is totally empty. if (BufferUtil.isEmpty(_requestBuffer)) { @@ -289,7 +279,6 @@ public class HttpConnection extends AbstractConnection _channel.getEventHandler().badMessage(HttpStatus.REQUEST_ENTITY_TOO_LARGE_413,null); } } - } } catch(IOException e) { @@ -414,9 +403,6 @@ public class HttpConnection extends AbstractConnection BufferUtil.clear(_responseBuffer); getEndPoint().shutdownOutput(); _generator.abort(); - - // set fill interested so we seek the real close - fillInterested(); return false; } return true; @@ -433,8 +419,7 @@ public class HttpConnection extends AbstractConnection // be asynchronously flushed TBD), but it may not have consumed the entire LOG.debug("{} completed"); - - + // Handle connection upgrades if (getResponse().getStatus()==HttpStatus.SWITCHING_PROTOCOLS_101) { @@ -490,6 +475,12 @@ public class HttpConnection extends AbstractConnection getEndPoint().shutdownOutput(); } } + + + // make sure that an oshut connection is driven towards close + // TODO this is a little ugly + if (getEndPoint().isOpen() && getEndPoint().isOutputShutdown()) + fillInterested(); } /* ------------------------------------------------------------ */ diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpServerTestBase.java b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpServerTestBase.java index ce0e40a28b..0b66cc4bfd 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpServerTestBase.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpServerTestBase.java @@ -1037,8 +1037,9 @@ public abstract class HttpServerTestBase extends HttpServerTestFixture assertTrue(in.indexOf("\r\n0\r\n")==-1); // chunking is interrupted by error close client.close(); - Thread.sleep(100); - System.err.println(handler._endp); + Thread.sleep(200); + + // TODO this sometimes fails for SSL ??? assertTrue(!handler._endp.isOpen()); } finally diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/ResponseTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/ResponseTest.java index 7cc9371d9f..0b9524fbd6 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/ResponseTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/ResponseTest.java @@ -651,6 +651,7 @@ public class ResponseTest private Response newResponse() { + _channel.getOutputStream().reset(); Response response = new Response(_channel); return response; } |