From 6a407009d012a64ab8911da1297fbe6bc302ac8d Mon Sep 17 00:00:00 2001 From: fhanik Date: Tue, 29 May 2007 20:41:53 +0000 Subject: [PATCH] Remove the non blocking handling of the request, doesn't work well with the new non thread local processor handling git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@542645 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/coyote/http11/InternalNioInputBuffer.java | 20 ++++++++++---------- .../tribes/test/channel/ChannelStartStop.java | 7 +++++++ .../test/interceptors/TestOrderInterceptor.java | 1 + webapps/docs/config/http.xml | 2 +- 4 files changed, 19 insertions(+), 11 deletions(-) diff --git a/java/org/apache/coyote/http11/InternalNioInputBuffer.java b/java/org/apache/coyote/http11/InternalNioInputBuffer.java index c5309e0d9..a1d6881c8 100644 --- a/java/org/apache/coyote/http11/InternalNioInputBuffer.java +++ b/java/org/apache/coyote/http11/InternalNioInputBuffer.java @@ -422,11 +422,11 @@ public class InternalNioInputBuffer implements InputBuffer { return false; } if (readTimeout == -1) { - if (!fill(false,false)) //request line parsing + if (!fill(false,true)) //request line parsing return false; } else { // Do a simple read with a short timeout - if ( !readSocket(true, false) ) return false; + if ( !readSocket(true, true) ) return false; } } @@ -441,7 +441,7 @@ public class InternalNioInputBuffer implements InputBuffer { // Read new bytes if needed if (pos >= lastValid) { - if (!fill(true,false)) //request line parsing + if (!fill(true,true)) //request line parsing return false; } @@ -470,7 +470,7 @@ public class InternalNioInputBuffer implements InputBuffer { // Read new bytes if needed if (pos >= lastValid) { - if (!fill(true,false)) //request line parsing + if (!fill(true,true)) //request line parsing return false; } @@ -514,7 +514,7 @@ public class InternalNioInputBuffer implements InputBuffer { // Read new bytes if needed if (pos >= lastValid) { - if (!fill(true,false)) //reques line parsing + if (!fill(true,true)) //reques line parsing return false; } @@ -626,7 +626,7 @@ public class InternalNioInputBuffer implements InputBuffer { // Read new bytes if needed if (pos >= lastValid) { - if (!fill(true,false)) {//parse header + if (!fill(true,true)) {//parse header headerParsePos = HeaderParsePosition.HEADER_START; return HeaderParseStatus.NEED_MORE_DATA; } @@ -664,7 +664,7 @@ public class InternalNioInputBuffer implements InputBuffer { // Read new bytes if needed if (pos >= lastValid) { - if (!fill(true,false)) { //parse header + if (!fill(true,true)) { //parse header return HeaderParseStatus.NEED_MORE_DATA; } } @@ -704,7 +704,7 @@ public class InternalNioInputBuffer implements InputBuffer { // Read new bytes if needed if (pos >= lastValid) { - if (!fill(true,false)) {//parse header + if (!fill(true,true)) {//parse header //HEADER_VALUE, should already be set return HeaderParseStatus.NEED_MORE_DATA; } @@ -725,7 +725,7 @@ public class InternalNioInputBuffer implements InputBuffer { // Read new bytes if needed if (pos >= lastValid) { - if (!fill(true,false)) {//parse header + if (!fill(true,true)) {//parse header //HEADER_VALUE return HeaderParseStatus.NEED_MORE_DATA; } @@ -756,7 +756,7 @@ public class InternalNioInputBuffer implements InputBuffer { } // Read new bytes if needed if (pos >= lastValid) { - if (!fill(true,false)) {//parse header + if (!fill(true,true)) {//parse header //HEADER_MULTI_LINE return HeaderParseStatus.NEED_MORE_DATA; diff --git a/test/org/apache/catalina/tribes/test/channel/ChannelStartStop.java b/test/org/apache/catalina/tribes/test/channel/ChannelStartStop.java index e514001a5..ee59032a0 100644 --- a/test/org/apache/catalina/tribes/test/channel/ChannelStartStop.java +++ b/test/org/apache/catalina/tribes/test/channel/ChannelStartStop.java @@ -17,6 +17,7 @@ package org.apache.catalina.tribes.test.channel; import org.apache.catalina.tribes.group.GroupChannel; import junit.framework.TestCase; +import org.apache.catalina.tribes.transport.ReceiverBase; /** * @author Filip Hanik @@ -48,6 +49,12 @@ public class ChannelStartStop extends TestCase { channel.stop(channel.DEFAULT); } + public void testScrap() throws Exception { + System.out.println(channel.getChannelReceiver().getClass()); + ((ReceiverBase)channel.getChannelReceiver()).setMaxThreads(1); + } + + public void testDoublePartialStart() throws Exception { //try to double start the RX int count = 0; diff --git a/test/org/apache/catalina/tribes/test/interceptors/TestOrderInterceptor.java b/test/org/apache/catalina/tribes/test/interceptors/TestOrderInterceptor.java index 3f4ff0e7a..442690eb7 100644 --- a/test/org/apache/catalina/tribes/test/interceptors/TestOrderInterceptor.java +++ b/test/org/apache/catalina/tribes/test/interceptors/TestOrderInterceptor.java @@ -51,6 +51,7 @@ public class TestOrderInterceptor extends TestCase { threads = new Thread[channelCount]; for ( int i=0; i