summaryrefslogtreecommitdiff
path: root/ACE/ace/Timer_Queue_T.h
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2014-03-07 11:59:51 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2014-03-07 11:59:51 +0000
commit8d0b9152b1b1372faf08998de6d1e6d3e08d9037 (patch)
tree4778dd629b087981350bceeaa4a70e34b854b063 /ACE/ace/Timer_Queue_T.h
parentda12fd62e56e7c9ce2d2ae27c7d28fb2fe92e918 (diff)
downloadATCD-8d0b9152b1b1372faf08998de6d1e6d3e08d9037.tar.gz
Fri Mar 7 11:56:10 UTC 2014 Johnny Willemsen <jwillemsen@remedy.nl>
* ace/Timer_Queue_T.h: * ace/Timer_Queue_T.inl: * ace/Timer_Queue_T.cpp: Moved the expire() method from the inline to the cpp, it is virtual so can't be inlined. Further, the expire() method had an optimization that it checked is_empty() before callig the real expire that grabs the lock. This is causing a potential data race because the timer hash overrides is_empty and uses a member variable to determine whether the queue is empty or not, this is now accessed without having the timer queue locked. Therefor the optimization was removed, we directly call into the real expire that first grabs its lock
Diffstat (limited to 'ACE/ace/Timer_Queue_T.h')
-rw-r--r--ACE/ace/Timer_Queue_T.h3
1 files changed, 0 insertions, 3 deletions
diff --git a/ACE/ace/Timer_Queue_T.h b/ACE/ace/Timer_Queue_T.h
index ee06e91332d..a8881d7a652 100644
--- a/ACE/ace/Timer_Queue_T.h
+++ b/ACE/ace/Timer_Queue_T.h
@@ -117,9 +117,6 @@ public:
*/
virtual int dispatch_info (const ACE_Time_Value &current_time,
ACE_Timer_Node_Dispatch_Info_T<TYPE> &info);
-
-
-
//@{
/**
* Implement the gettimeofday() virtual function