Author: markt Date: Thu Sep 30 13:44:11 2010 New Revision: 1003065 URL: http://svn.apache.org/viewvc?rev=1003065&view=rev Log: Fix some of the remaining issues with the AJP/APR connector post async refactoring. Still does not pass the TCK.
Modified: tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java Modified: tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java?rev=1003065&r1=1003064&r2=1003065&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java Thu Sep 30 13:44:11 2010 @@ -232,6 +232,13 @@ public abstract class AbstractAjpProcess error = true; } + try { + flush(); + } catch (IOException e) { + // Set error flag + error = true; + } + } else if (actionCode == ActionCode.CLIENT_FLUSH) { if (!response.isCommitted()) { Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java?rev=1003065&r1=1003064&r2=1003065&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java Thu Sep 30 13:44:11 2010 @@ -218,7 +218,6 @@ public class AjpAprProcessor extends Abs // Error flag error = false; - boolean openSocket = true; boolean keptAlive = false; while (!error && !endpoint.isPaused()) { @@ -320,15 +319,6 @@ public class AjpAprProcessor extends Abs } - // Add the socket to the poller - if (!error && !endpoint.isPaused()) { - if (!isAsync()) { - ((AprEndpoint)endpoint).getPoller().add(socketRef); - } - } else { - openSocket = false; - } - rp.setStage(org.apache.coyote.Constants.STAGE_ENDED); if (error || endpoint.isPaused()) { @@ -338,7 +328,7 @@ public class AjpAprProcessor extends Abs return SocketState.LONG; } else { recycle(); - return (openSocket) ? SocketState.OPEN : SocketState.CLOSED; + return SocketState.OPEN; } } Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java?rev=1003065&r1=1003064&r2=1003065&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java Thu Sep 30 13:44:11 2010 @@ -453,7 +453,6 @@ public class AjpAprProtocol return SocketState.CLOSED; } - // FIXME: Support for this could be added in AJP as well @Override public SocketState asyncDispatch(SocketWrapper<Long> socket, SocketStatus status) { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org