Modified prepareResponse() to call queueOutboundClientMessage instead of directly setting the currentOutboundMessage.

This commit is contained in:
wcrisman
2014-12-28 21:13:24 -08:00
parent c7188095d0
commit 6cbd188867

View File

@@ -232,7 +232,8 @@ public boolean isSsl() {
private void queueOutboundClientMessage(MessageBuffer messageBuffer) { private void queueOutboundClientMessage(MessageBuffer messageBuffer) {
boolean notify = false; boolean notify = false;
synchronized(this) { if(messageBuffer != null) {
synchronized(getLock()) {
if(currentOutboundMessage == null) { if(currentOutboundMessage == null) {
lastOutboundMessage = currentOutboundMessage = messageBuffer; lastOutboundMessage = currentOutboundMessage = messageBuffer;
notify = true; notify = true;
@@ -246,6 +247,7 @@ private void queueOutboundClientMessage(MessageBuffer messageBuffer) {
if(notify) { if(notify) {
notifyListenerOfPendingWrite(); notifyListenerOfPendingWrite();
}//if// }//if//
}//if//
}//queueOutboundClientMessage()// }//queueOutboundClientMessage()//
private void writeSessionCookies(Response response, PrintStream pout) { private void writeSessionCookies(Response response, PrintStream pout) {
ISession session = response.getSession(); ISession session = response.getSession();
@@ -515,7 +517,8 @@ private void prepareResponse(Response response) {
// }//if// // }//if//
//Save the buffer as the current pending outbound message for this socket context.// //Save the buffer as the current pending outbound message for this socket context.//
currentOutboundMessage = new MessageBuffer(buffer, response, content != null && request.getRequestType() != Request.TYPE_HEAD ? content : null); //currentOutboundMessage = new MessageBuffer(buffer, response, content != null && request.getRequestType() != Request.TYPE_HEAD ? content : null);
queueOutboundClientMessage(new MessageBuffer(buffer, response, content != null && request.getRequestType() != Request.TYPE_HEAD ? content : null));
}//try// }//try//
catch(Throwable e) { catch(Throwable e) {
Debug.log("Fatal Error: Failed to build and send the response message due to an exception.", e); Debug.log("Fatal Error: Failed to build and send the response message due to an exception.", e);