You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by jp...@apache.org on 2010/01/27 22:04:16 UTC

svn commit: r903831 - in /incubator/trafficserver/traffic/branches/dev: iocore/block-cache/ iocore/net/ iocore/utils/ proxy/ proxy/api/include/

Author: jplevyak
Date: Wed Jan 27 21:04:14 2010
New Revision: 903831

URL: http://svn.apache.org/viewvc?rev=903831&view=rev
Log:
TS-74: fix issues with regressions tests not completing and SEGV specific to dev branch

Modified:
    incubator/trafficserver/traffic/branches/dev/iocore/block-cache/BlockCacheSegmentVConnection.cc
    incubator/trafficserver/traffic/branches/dev/iocore/net/P_UnixNetVConnection.h
    incubator/trafficserver/traffic/branches/dev/iocore/net/UnixNetAccept.cc
    incubator/trafficserver/traffic/branches/dev/iocore/net/UnixNetVConnection.cc
    incubator/trafficserver/traffic/branches/dev/iocore/utils/I_Disk.h
    incubator/trafficserver/traffic/branches/dev/proxy/InkAPI.cc
    incubator/trafficserver/traffic/branches/dev/proxy/MuxVC.cc
    incubator/trafficserver/traffic/branches/dev/proxy/MuxVC.h
    incubator/trafficserver/traffic/branches/dev/proxy/api/include/InkAPIPrivateIOCore.h

Modified: incubator/trafficserver/traffic/branches/dev/iocore/block-cache/BlockCacheSegmentVConnection.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/iocore/block-cache/BlockCacheSegmentVConnection.cc?rev=903831&r1=903830&r2=903831&view=diff
==============================================================================
--- incubator/trafficserver/traffic/branches/dev/iocore/block-cache/BlockCacheSegmentVConnection.cc (original)
+++ incubator/trafficserver/traffic/branches/dev/iocore/block-cache/BlockCacheSegmentVConnection.cc Wed Jan 27 21:04:14 2010
@@ -57,9 +57,9 @@
     }
   };
 
-  virtual VIO *do_io_write(Continuation * c = NULL, int nbytes = 0, IOBufferReader * buf = NULL, bool owner = false);
+  virtual VIO *do_io_write(Continuation * c = NULL, ink64 nbytes = 0, IOBufferReader * buf = NULL, bool owner = false);
 
-  virtual VIO *do_io_read(Continuation * c, int nbytes, MIOBuffer * buf);
+  virtual VIO *do_io_read(Continuation * c, ink64 nbytes, MIOBuffer * buf);
 
   virtual void do_io_close(int err = -1) {
   };
@@ -89,7 +89,7 @@
 }
 
 VIO *
-BCSV_impl::do_io_write(Continuation * c, int nbytes, IOBufferReader * buf, bool owner)
+BCSV_impl::do_io_write(Continuation * c, ink64 nbytes, IOBufferReader * buf, bool owner)
 {
 
   // call into BC_OpenSegment for io strategy
@@ -109,7 +109,7 @@
 }
 
 VIO *
-BCSV_impl::do_io_read(Continuation * c, int nbytes, MIOBuffer * buf)
+BCSV_impl::do_io_read(Continuation * c, ink64 nbytes, MIOBuffer * buf)
 {
   // call into BC_OpenSegment for io strategy
 

Modified: incubator/trafficserver/traffic/branches/dev/iocore/net/P_UnixNetVConnection.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/iocore/net/P_UnixNetVConnection.h?rev=903831&r1=903830&r2=903831&view=diff
==============================================================================
--- incubator/trafficserver/traffic/branches/dev/iocore/net/P_UnixNetVConnection.h (original)
+++ incubator/trafficserver/traffic/branches/dev/iocore/net/P_UnixNetVConnection.h Wed Jan 27 21:04:14 2010
@@ -150,10 +150,6 @@
 
   void get_local_sa();
 
-  VIO *do_io_read_now(Continuation * c, int nbytes, MIOBuffer * buf);
-  VIO *do_io_write_now(Continuation * c, int nbytes, IOBufferReader * buf, bool owner = false);
-  void reenable_re_now(VIO * vio);
-
   // these are not part of the pure virtual interface.  They were
   // added to reduce the amount of duplicate code in classes inherited
   // from NetVConnection (SSL).

Modified: incubator/trafficserver/traffic/branches/dev/iocore/net/UnixNetAccept.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/iocore/net/UnixNetAccept.cc?rev=903831&r1=903830&r2=903831&view=diff
==============================================================================
--- incubator/trafficserver/traffic/branches/dev/iocore/net/UnixNetAccept.cc (original)
+++ incubator/trafficserver/traffic/branches/dev/iocore/net/UnixNetAccept.cc Wed Jan 27 21:04:14 2010
@@ -490,12 +490,12 @@
 
     vc->nh->open_list.enqueue(vc);
 
+#ifdef USE_EDGE_TRIGGER
     // Set the vc as triggered and place it in the read ready queue in case there is already data on the socket.
-    // The request will  timeout on the connection if the client has already sent data and it is on the socket
-    // ready to be read.  This can occur under heavy load.
     NetDebug("iocore_net", "acceptEvent : Setting triggered and adding to the read ready queue");
     vc->read.triggered = 1;
     vc->nh->read_ready_list.enqueue(vc);
+#endif
 
     if (!action_->cancelled)
       action_->continuation->handleEvent(NET_EVENT_ACCEPT, vc);

Modified: incubator/trafficserver/traffic/branches/dev/iocore/net/UnixNetVConnection.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/iocore/net/UnixNetVConnection.cc?rev=903831&r1=903830&r2=903831&view=diff
==============================================================================
--- incubator/trafficserver/traffic/branches/dev/iocore/net/UnixNetVConnection.cc (original)
+++ incubator/trafficserver/traffic/branches/dev/iocore/net/UnixNetVConnection.cc Wed Jan 27 21:04:14 2010
@@ -579,9 +579,6 @@
 {
   addLogMessage("UnixNetVConnection::do_io_close");
 
-  EThread *t = read.vio.mutex ? read.vio.mutex->thread_holding : write.vio.mutex->thread_holding;
-  ink_debug_assert(t);
-
   disable_read(this);
   disable_write(this);
   read.vio.buffer.clear();
@@ -599,8 +596,11 @@
   else
     closed = -1;
 
-  if (!recursion && nh->mutex->thread_holding == t)
-    close_UnixNetVConnection(this, t);
+  if (!recursion) {
+     EThread *t = this_ethread();
+     if (nh->mutex->thread_holding == t)
+       close_UnixNetVConnection(this, t);
+  }
 }
 
 void

Modified: incubator/trafficserver/traffic/branches/dev/iocore/utils/I_Disk.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/iocore/utils/I_Disk.h?rev=903831&r1=903830&r2=903831&view=diff
==============================================================================
--- incubator/trafficserver/traffic/branches/dev/iocore/utils/I_Disk.h (original)
+++ incubator/trafficserver/traffic/branches/dev/iocore/utils/I_Disk.h Wed Jan 27 21:04:14 2010
@@ -64,9 +64,9 @@
   //                creation callback.
   // must NOT be called when another operation is active.
   //
-  virtual VIO *do_io(int op, Continuation * c = NULL, int nbytes = INT_MAX, MIOBuffer * buf = 0, int data = 0);
+  virtual VIO *do_io(int op, Continuation * c = NULL, ink64 nbytes = INK64_MAX, MIOBuffer * buf = 0, int data = 0);
 
-  virtual VIO *do_io_write(Continuation * c = NULL, int nbytes = INT_MAX, IOBufferReader * buf = 0, bool owner = false) {
+  virtual VIO *do_io_write(Continuation * c = NULL, ink64 nbytes = INK64_MAX, IOBufferReader * buf = 0, bool owner = false) {
     return NULL;
   }
   //

Modified: incubator/trafficserver/traffic/branches/dev/proxy/InkAPI.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/InkAPI.cc?rev=903831&r1=903830&r2=903831&view=diff
==============================================================================
--- incubator/trafficserver/traffic/branches/dev/proxy/InkAPI.cc (original)
+++ incubator/trafficserver/traffic/branches/dev/proxy/InkAPI.cc Wed Jan 27 21:04:14 2010
@@ -1116,7 +1116,7 @@
 }
 
 VIO *
-INKVConnInternal::do_io_read(Continuation * c, int nbytes, MIOBuffer * buf)
+INKVConnInternal::do_io_read(Continuation * c, ink64 nbytes, MIOBuffer * buf)
 {
   m_read_vio.buffer.writer_for(buf);
   m_read_vio.op = VIO::READ;
@@ -1134,7 +1134,7 @@
 }
 
 VIO *
-INKVConnInternal::do_io_write(Continuation * c, int nbytes, IOBufferReader * buf, bool owner)
+INKVConnInternal::do_io_write(Continuation * c, ink64 nbytes, IOBufferReader * buf, bool owner)
 {
   ink_assert(!owner);
   m_write_vio.buffer.reader_for(buf);

Modified: incubator/trafficserver/traffic/branches/dev/proxy/MuxVC.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/MuxVC.cc?rev=903831&r1=903830&r2=903831&view=diff
==============================================================================
--- incubator/trafficserver/traffic/branches/dev/proxy/MuxVC.cc (original)
+++ incubator/trafficserver/traffic/branches/dev/proxy/MuxVC.cc Wed Jan 27 21:04:14 2010
@@ -198,7 +198,7 @@
 
 
 VIO *
-MuxClientVC::do_io_read(Continuation * c, int nbytes, MIOBuffer * buf)
+MuxClientVC::do_io_read(Continuation * c, ink64 nbytes, MIOBuffer * buf)
 {
 
   ink_debug_assert(!closed);
@@ -237,7 +237,7 @@
 }
 
 VIO *
-MuxClientVC::do_io_write(Continuation * c, int nbytes, IOBufferReader * abuffer, bool owner)
+MuxClientVC::do_io_write(Continuation * c, ink64 nbytes, IOBufferReader * abuffer, bool owner)
 {
 
   ink_debug_assert(!closed);

Modified: incubator/trafficserver/traffic/branches/dev/proxy/MuxVC.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/MuxVC.h?rev=903831&r1=903830&r2=903831&view=diff
==============================================================================
--- incubator/trafficserver/traffic/branches/dev/proxy/MuxVC.h (original)
+++ incubator/trafficserver/traffic/branches/dev/proxy/MuxVC.h Wed Jan 27 21:04:14 2010
@@ -107,9 +107,9 @@
   void init(MuxVC * mvc, ink32 id);
   void kill();
 
-  virtual VIO *do_io_read(Continuation * c = NULL, int nbytes = INT_MAX, MIOBuffer * buf = 0);
+  virtual VIO *do_io_read(Continuation * c = NULL, ink64 nbytes = INK64_MAX, MIOBuffer * buf = 0);
 
-  virtual VIO *do_io_write(Continuation * c = NULL, int nbytes = INT_MAX, IOBufferReader * buf = 0, bool owner = false);
+  virtual VIO *do_io_write(Continuation * c = NULL, ink64 nbytes = INK64_MAX, IOBufferReader * buf = 0, bool owner = false);
 
   virtual bool is_over_ssl()
   {

Modified: incubator/trafficserver/traffic/branches/dev/proxy/api/include/InkAPIPrivateIOCore.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/api/include/InkAPIPrivateIOCore.h?rev=903831&r1=903830&r2=903831&view=diff
==============================================================================
--- incubator/trafficserver/traffic/branches/dev/proxy/api/include/InkAPIPrivateIOCore.h (original)
+++ incubator/trafficserver/traffic/branches/dev/proxy/api/include/InkAPIPrivateIOCore.h Wed Jan 27 21:04:14 2010
@@ -84,17 +84,17 @@
 
   int handle_event(int event, void *edata);
 
-  VIO *do_io_read(Continuation * c, int nbytes, MIOBuffer * buf);
+  VIO *do_io_read(Continuation *c, ink64 nbytes, MIOBuffer *buf);
 
-  VIO *do_io_write(Continuation * c, int nbytes, IOBufferReader * buf, bool owner = false);
+  VIO *do_io_write(Continuation *c, ink64 nbytes, IOBufferReader *buf, bool owner = false);
 
-  void do_io_transform(VConnection * vc);
+  void do_io_transform(VConnection *vc);
 
   void do_io_close(int lerrno = -1);
 
   void do_io_shutdown(ShutdownHowTo_t howto);
 
-  void reenable(VIO * vio);
+  void reenable(VIO *vio);
 
   void retry(unsigned int delay);