diff options
Diffstat (limited to 'ace/Message_Queue_T.cpp')
-rw-r--r-- | ace/Message_Queue_T.cpp | 59 |
1 files changed, 28 insertions, 31 deletions
diff --git a/ace/Message_Queue_T.cpp b/ace/Message_Queue_T.cpp index e77eef128ba..46b14d8978e 100644 --- a/ace/Message_Queue_T.cpp +++ b/ace/Message_Queue_T.cpp @@ -705,58 +705,53 @@ ACE_Message_Queue<ACE_SYNCH_USE>::notify (void) } -///////////////////////////////////// -// class ACE_Dynamic_Message_Queue // -///////////////////////////////////// - - // = Initialization and termination methods. +// = Initialization and termination methods. template <ACE_SYNCH_DECL> -ACE_Dynamic_Message_Queue<ACE_SYNCH_USE>::ACE_Dynamic_Message_Queue ( - ACE_Dynamic_Message_Strategy & message_strategy, - size_t hwm, - size_t lwm, - ACE_Notification_Strategy *ns) - : ACE_Message_Queue<ACE_SYNCH_USE> (hwm, lwm, ns) - , pending_head_ (0) - , pending_tail_ (0) - , late_head_ (0) - , late_tail_ (0) - , beyond_late_head_ (0) - , beyond_late_tail_ (0) - , message_strategy_ (message_strategy) +ACE_Dynamic_Message_Queue<ACE_SYNCH_USE>::ACE_Dynamic_Message_Queue (ACE_Dynamic_Message_Strategy & message_strategy, + size_t hwm, + size_t lwm, + ACE_Notification_Strategy *ns) + : ACE_Message_Queue<ACE_SYNCH_USE> (hwm, lwm, ns), + pending_head_ (0), + pending_tail_ (0), + late_head_ (0), + late_tail_ (0), + beyond_late_head_ (0), + beyond_late_tail_ (0), + message_strategy_ (message_strategy) { - // note, the ACE_Dynamic_Message_Queue assumes full responsibility for the - // passed ACE_Dynamic_Message_Strategy object, and deletes it in its own dtor + // Note, the ACE_Dynamic_Message_Queue assumes full responsibility + // for the passed ACE_Dynamic_Message_Strategy object, and deletes + // it in its own dtor } +// dtor: free message strategy and let base class dtor do the rest. + template <ACE_SYNCH_DECL> ACE_Dynamic_Message_Queue<ACE_SYNCH_USE>::~ACE_Dynamic_Message_Queue (void) { - delete &(this->message_strategy_); + delete &this->message_strategy_; } -// dtor: free message strategy and let base class dtor do the rest template <ACE_SYNCH_DECL> int ACE_Dynamic_Message_Queue<ACE_SYNCH_USE>::remove_messages (ACE_Message_Block *&list_head, ACE_Message_Block *&list_tail, u_int status_flags) { - int result = 0; - // start with an empty list list_head = 0; list_tail = 0; - - // get the current time + // Get the current time ACE_Time_Value current_time = ACE_OS::gettimeofday (); - // refresh priority status boundaries in the queue - result = this->refresh_queue (current_time); + // Refresh priority status boundaries in the queue. + int result = this->refresh_queue (current_time); if (result < 0) return result; - if ((status_flags & (u_int) ACE_Dynamic_Message_Strategy::PENDING) + if (ACE_BIT_ENABLED (status_flags, + (u_int) ACE_Dynamic_Message_Strategy::PENDING) && this->pending_head_ && this->pending_tail_) { @@ -783,7 +778,8 @@ ACE_Dynamic_Message_Queue<ACE_SYNCH_USE>::remove_messages (ACE_Message_Block *&l this->pending_tail_ = 0; } - if ((status_flags & (u_int) ACE_Dynamic_Message_Strategy::LATE) + if (ACE_BIT_ENABLED (status_flags, + (u_int) ACE_Dynamic_Message_Strategy::LATE) && this->late_head_ && this->late_tail_) { @@ -813,7 +809,8 @@ ACE_Dynamic_Message_Queue<ACE_SYNCH_USE>::remove_messages (ACE_Message_Block *&l this->late_tail_ = 0; } - if ((status_flags & (u_int) ACE_Dynamic_Message_Strategy::BEYOND_LATE) + if (ACE_BIT_ENABLED (status_flags, + (u_int) ACE_Dynamic_Message_Strategy::BEYOND_LATE) && this->beyond_late_head_ && this->beyond_late_tail_) { |