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

amc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/master by this push:
     new e27c09b  Cleanup in EThread. For #1997.
e27c09b is described below

commit e27c09b1042e04d55ca21a8841ce4efa0c7bba2c
Author: Alan M. Carroll <[email protected]>
AuthorDate: Mon Jun 5 20:51:29 2017 -0500

    Cleanup in EThread.
    For #1997.
---
 iocore/eventsystem/I_EThread.h    | 19 ++++++++-----------
 iocore/eventsystem/UnixEThread.cc | 20 +++++---------------
 2 files changed, 13 insertions(+), 26 deletions(-)

diff --git a/iocore/eventsystem/I_EThread.h b/iocore/eventsystem/I_EThread.h
index e93784a..6b219d4 100644
--- a/iocore/eventsystem/I_EThread.h
+++ b/iocore/eventsystem/I_EThread.h
@@ -49,7 +49,6 @@ class Continuation;
 
 enum ThreadType {
   REGULAR = 0,
-  MONITOR,
   DEDICATED,
 };
 
@@ -257,12 +256,7 @@ public:
 
   Event *schedule_local(Event *e);
 
-  InkRand generator;
-
-private:
-  // prevent unauthorized copies (Not implemented)
-  EThread(const EThread &);
-  EThread &operator=(const EThread &);
+  InkRand generator = static_cast<uint64_t>(Thread::get_hrtime_updated() ^ 
reinterpret_cast<uintptr_t>(this));
 
   /*-------------------------------------------------------*\
   |  UNIX Interface                                         |
@@ -270,6 +264,8 @@ private:
 
 public:
   EThread();
+  EThread(const EThread &) = delete;
+  EThread &operator=(const EThread &) = delete;
   EThread(ThreadType att, int anid);
   EThread(ThreadType att, Event *e);
   virtual ~EThread();
@@ -292,20 +288,21 @@ public:
   EThread **ethreads_to_be_signalled = nullptr;
   int n_ethreads_to_be_signalled     = 0;
 
-  int id;
-  unsigned int event_types = 0;
+  static constexpr int NO_ETHREAD_ID = -1;
+  int id                             = NO_ETHREAD_ID;
+  unsigned int event_types           = 0;
   bool is_event_type(EventType et);
   void set_event_type(EventType et);
 
   // Private Interface
 
-  void execute();
+  void execute() override;
   void process_event(Event *e, int calling_code);
   void free_event(Event *e);
   void (*signal_hook)(EThread *) = nullptr;
 
 #if HAVE_EVENTFD
-  int evfd = -1;
+  int evfd = ts::NO_FD;
 #else
   int evpipe[2];
 #endif
diff --git a/iocore/eventsystem/UnixEThread.cc 
b/iocore/eventsystem/UnixEThread.cc
index b1cc766..452c1de 100644
--- a/iocore/eventsystem/UnixEThread.cc
+++ b/iocore/eventsystem/UnixEThread.cc
@@ -37,20 +37,18 @@ struct AIOCallback;
 #define MAX_HEARTBEATS_MISSED 10
 #define NO_HEARTBEAT -1
 #define THREAD_MAX_HEARTBEAT_MSECONDS 60
-#define NO_ETHREAD_ID -1
 
 volatile bool shutdown_event_system = false;
 
-EThread::EThread() : generator((uint64_t)Thread::get_hrtime_updated() ^ 
(uint64_t)(uintptr_t)this), id(NO_ETHREAD_ID)
+EThread::EThread()
 {
   memset(thread_private, 0, PER_THREAD_DATA);
 }
 
-EThread::EThread(ThreadType att, int anid)
-  : generator((uint64_t)Thread::get_hrtime_updated() ^ 
(uint64_t)(uintptr_t)this), id(anid), tt(att)
+EThread::EThread(ThreadType att, int anid) : id(anid), tt(att)
 {
   ethreads_to_be_signalled = (EThread **)ats_malloc(MAX_EVENT_THREADS * 
sizeof(EThread *));
-  memset((char *)ethreads_to_be_signalled, 0, MAX_EVENT_THREADS * 
sizeof(EThread *));
+  memset(ethreads_to_be_signalled, 0, MAX_EVENT_THREADS * sizeof(EThread *));
   memset(thread_private, 0, PER_THREAD_DATA);
 #if HAVE_EVENTFD
   evfd = eventfd(0, EFD_NONBLOCK | EFD_CLOEXEC);
@@ -77,15 +75,7 @@ EThread::EThread(ThreadType att, int anid)
 #endif
 }
 
-EThread::EThread(ThreadType att, Event *e)
-  : generator((uint32_t)((uintptr_t)time(nullptr) ^ (uintptr_t)this)),
-    ethreads_to_be_signalled(nullptr),
-    n_ethreads_to_be_signalled(0),
-    id(NO_ETHREAD_ID),
-    event_types(0),
-    signal_hook(nullptr),
-    tt(att),
-    oneevent(e)
+EThread::EThread(ThreadType att, Event *e) : tt(att), oneevent(e)
 {
   ink_assert(att == DEDICATED);
   memset(thread_private, 0, PER_THREAD_DATA);
@@ -112,7 +102,7 @@ EThread::is_event_type(EventType et)
 void
 EThread::set_event_type(EventType et)
 {
-  event_types |= (1 << (int)et);
+  event_types |= (1 << static_cast<int>(et));
 }
 
 void

-- 
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].

Reply via email to