This is an automated email from the ASF dual-hosted git repository.

zwoop pushed a commit to branch 7.1.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/7.1.x by this push:
     new e25bb71  Revert "Assert if operations on keep_alive_queue and 
active_queue are not thread-safe"
e25bb71 is described below

commit e25bb7192ca61e961594802f43b3c49bea9310c9
Author: Leif Hedstrom <[email protected]>
AuthorDate: Thu Mar 14 14:30:41 2019 -0600

    Revert "Assert if operations on keep_alive_queue and active_queue are not 
thread-safe"
    
    This reverts commit 3599e5ebe31ec2bac0783b2068be91a13feb967e.
    
    Seems this causes new, unpredcitable crashes. For now, lets revert this, 
and we can
    keep working on this for 8.x / 9.x. Reference #4379 and #4921 and #5120.
---
 iocore/net/UnixNet.cc            |  6 ------
 iocore/net/UnixNetVConnection.cc | 31 ++++---------------------------
 2 files changed, 4 insertions(+), 33 deletions(-)

diff --git a/iocore/net/UnixNet.cc b/iocore/net/UnixNet.cc
index a0cdc50..06da414 100644
--- a/iocore/net/UnixNet.cc
+++ b/iocore/net/UnixNet.cc
@@ -689,7 +689,6 @@ void
 NetHandler::add_to_keep_alive_queue(UnixNetVConnection *vc)
 {
   Debug("net_queue", "NetVC: %p", vc);
-  ink_assert(mutex->thread_holding == this_ethread());
 
   if (keep_alive_queue.in(vc)) {
     // already in the keep-alive queue, move the head
@@ -709,8 +708,6 @@ void
 NetHandler::remove_from_keep_alive_queue(UnixNetVConnection *vc)
 {
   Debug("net_queue", "NetVC: %p", vc);
-  ink_assert(mutex->thread_holding == this_ethread());
-
   if (keep_alive_queue.in(vc)) {
     keep_alive_queue.remove(vc);
     --keep_alive_queue_size;
@@ -723,7 +720,6 @@ NetHandler::add_to_active_queue(UnixNetVConnection *vc)
   Debug("net_queue", "NetVC: %p", vc);
   Debug("net_queue", "max_connections_per_thread_in: %d active_queue_size: %d 
keep_alive_queue_size: %d",
         max_connections_per_thread_in, active_queue_size, 
keep_alive_queue_size);
-  ink_assert(mutex->thread_holding == this_ethread());
 
   // if active queue is over size then close inactive connections
   if (manage_active_queue() == false) {
@@ -748,8 +744,6 @@ void
 NetHandler::remove_from_active_queue(UnixNetVConnection *vc)
 {
   Debug("net_queue", "NetVC: %p", vc);
-  ink_assert(mutex->thread_holding == this_ethread());
-
   if (active_queue.in(vc)) {
     active_queue.remove(vc);
     --active_queue_size;
diff --git a/iocore/net/UnixNetVConnection.cc b/iocore/net/UnixNetVConnection.cc
index 7b58165..2981ab1 100644
--- a/iocore/net/UnixNetVConnection.cc
+++ b/iocore/net/UnixNetVConnection.cc
@@ -1543,48 +1543,25 @@ UnixNetVConnection::migrateToCurrentThread(Continuation 
*cont, EThread *t)
 void
 UnixNetVConnection::add_to_keep_alive_queue()
 {
-  MUTEX_TRY_LOCK(lock, nh->mutex, this_ethread());
-  if (lock.is_locked()) {
-    nh->add_to_keep_alive_queue(this);
-  } else {
-    ink_release_assert(!"BUG: It must have acquired the NetHandler's lock 
before doing anything on keep_alive_queue.");
-  }
+  nh->add_to_keep_alive_queue(this);
 }
 
 void
 UnixNetVConnection::remove_from_keep_alive_queue()
 {
-  MUTEX_TRY_LOCK(lock, nh->mutex, this_ethread());
-  if (lock.is_locked()) {
-    nh->remove_from_keep_alive_queue(this);
-  } else {
-    ink_release_assert(!"BUG: It must have acquired the NetHandler's lock 
before doing anything on keep_alive_queue.");
-  }
+  nh->remove_from_keep_alive_queue(this);
 }
 
 bool
 UnixNetVConnection::add_to_active_queue()
 {
-  bool result = false;
-
-  MUTEX_TRY_LOCK(lock, nh->mutex, this_ethread());
-  if (lock.is_locked()) {
-    result = nh->add_to_active_queue(this);
-  } else {
-    ink_release_assert(!"BUG: It must have acquired the NetHandler's lock 
before doing anything on active_queue.");
-  }
-  return result;
+  return nh->add_to_active_queue(this);
 }
 
 void
 UnixNetVConnection::remove_from_active_queue()
 {
-  MUTEX_TRY_LOCK(lock, nh->mutex, this_ethread());
-  if (lock.is_locked()) {
-    nh->remove_from_active_queue(this);
-  } else {
-    ink_release_assert(!"BUG: It must have acquired the NetHandler's lock 
before doing anything on active_queue.");
-  }
+  nh->remove_from_active_queue(this);
 }
 
 int

Reply via email to