You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by wb...@apache.org on 2015/01/28 22:10:19 UTC

trafficserver git commit: TS-2884 TSActionCancel() on TSNetAccept() causes spinning thread

Repository: trafficserver
Updated Branches:
  refs/heads/master 1164f9d50 -> 4a4c41d99


TS-2884 TSActionCancel() on TSNetAccept() causes spinning thread


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

Branch: refs/heads/master
Commit: 4a4c41d999cc8f69005203bb59f0fb45a8a93aff
Parents: 1164f9d
Author: William Bardwell <wb...@apache.org>
Authored: Wed Jan 28 16:09:14 2015 -0500
Committer: William Bardwell <wb...@apache.org>
Committed: Wed Jan 28 16:09:53 2015 -0500

----------------------------------------------------------------------
 CHANGES                     | 2 ++
 iocore/net/UnixNetAccept.cc | 4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/4a4c41d9/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 6ad288c..c97edda 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,8 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache Traffic Server 5.3.0
 
+  *) [TS-2884] TSActionCancel() on TSNetAccept() causes spinning thread
+
   *) [TS-3324] If a chunked fetch from origin dies due to inactivity timeout, truncated cache entry can be created
 
   *) [TS-3325] TSHttpTxnConfigIntSet(txn, TS_CONFIG_HTTP_CACHE_HTTP, 0) can crash

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/4a4c41d9/iocore/net/UnixNetAccept.cc
----------------------------------------------------------------------
diff --git a/iocore/net/UnixNetAccept.cc b/iocore/net/UnixNetAccept.cc
index 0092c1a..c133dfb 100644
--- a/iocore/net/UnixNetAccept.cc
+++ b/iocore/net/UnixNetAccept.cc
@@ -518,8 +518,8 @@ NetAccept::acceptLoopEvent(int event, Event * e)
   (void) e;
   EThread *t = this_ethread();
 
-  while (1)
-    do_blocking_accept(t);
+  while (do_blocking_accept(t) >= 0)
+      ;
 
   // Don't think this ever happens ...
   NET_DECREMENT_DYN_STAT(net_accepts_currently_open_stat);