Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Wilkins2012-08-16 05:25:08 +0000
committerGreg Wilkins2012-08-16 05:25:08 +0000
commit6d2da78aac2eec0f5df3182e5d453df2eb31c9aa (patch)
treeb1548a60dbfb6fe8a321406d9c485e17d7ec2aa7
parentff76201050e3a9b8672366d878bab4361a8f44f4 (diff)
downloadorg.eclipse.jetty.project-6d2da78aac2eec0f5df3182e5d453df2eb31c9aa.tar.gz
org.eclipse.jetty.project-6d2da78aac2eec0f5df3182e5d453df2eb31c9aa.tar.xz
org.eclipse.jetty.project-6d2da78aac2eec0f5df3182e5d453df2eb31c9aa.zip
jetty-9 more commit fixes
-rw-r--r--jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java1
-rw-r--r--jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java23
-rw-r--r--jetty-server/src/test/java/org/eclipse/jetty/server/HttpServerTestBase.java5
-rw-r--r--jetty-server/src/test/java/org/eclipse/jetty/server/ResponseTest.java1
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;
}

Back to the top