trafficserver-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bc...@apache.org
Subject git commit: TS-2791: SPDY POST transactions failing with ERR_CLIENT_ABORT
Date Thu, 15 May 2014 16:53:44 GMT
Repository: trafficserver
Updated Branches:
  refs/heads/master 4bb18a966 -> 77a852203


TS-2791: SPDY POST transactions failing with ERR_CLIENT_ABORT


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/77a85220
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/77a85220
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/77a85220

Branch: refs/heads/master
Commit: 77a8522036b3aeefcea9a870d7cc62e2e7b0aeb3
Parents: 4bb18a9
Author: Sudheer Vinukonda <sudheerv@yahoo-inc.com>
Authored: Thu May 15 09:50:15 2014 -0700
Committer: Bryan Call <bcall@apache.org>
Committed: Thu May 15 09:52:50 2014 -0700

----------------------------------------------------------------------
 proxy/FetchSM.cc | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/77a85220/proxy/FetchSM.cc
----------------------------------------------------------------------
diff --git a/proxy/FetchSM.cc b/proxy/FetchSM.cc
index 1ed73f5..dc2ef49 100644
--- a/proxy/FetchSM.cc
+++ b/proxy/FetchSM.cc
@@ -522,7 +522,11 @@ FetchSM::ext_lanuch()
 void
 FetchSM::ext_write_data(const void *data, size_t len)
 {
-  if (header_done && (fetch_flags & TS_FETCH_FLAGS_NEWLOCK)) {
+  bool writeReady = (header_done ||
+		    (req_method == TS_FETCH_METHOD_POST) ||
+		    (req_method == TS_FETCH_METHOD_PUT));
+
+  if (writeReady && (fetch_flags & TS_FETCH_FLAGS_NEWLOCK)) {
     MUTEX_TAKE_LOCK(mutex, this_ethread());
   }
 
@@ -532,10 +536,13 @@ FetchSM::ext_write_data(const void *data, size_t len)
   // Before header_done, FetchSM may not
   // be initialized.
   //
-  if (header_done)
+  if (writeReady) {
+    Debug(DEBUG_TAG, "[%s] re-enabling write_vio, header_done %u, req_method %u", __FUNCTION__,
header_done, req_method);
     write_vio->reenable();
+    fetch_handler(TS_EVENT_VCONN_WRITE_READY, write_vio);
+  }
 
-  if (header_done && (fetch_flags & TS_FETCH_FLAGS_NEWLOCK)) {
+  if (writeReady && (fetch_flags & TS_FETCH_FLAGS_NEWLOCK)) {
     MUTEX_UNTAKE_LOCK(mutex, this_ethread());
   }
 }


Mime
View raw message