From 46bd1f35888e0c5eed23daf64eb50d85375c2574 Mon Sep 17 00:00:00 2001 From: thrall Date: Tue, 2 Dec 2003 05:43:16 +0000 Subject: Fixed compile errors. --- Kokyu/Dispatch_Deferrer.cpp | 2 ++ Kokyu/Dispatch_Deferrer.h | 1 + Kokyu/Dispatcher_Task.cpp | 14 +++----------- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/Kokyu/Dispatch_Deferrer.cpp b/Kokyu/Dispatch_Deferrer.cpp index a959f932fe0..84322b70c00 100644 --- a/Kokyu/Dispatch_Deferrer.cpp +++ b/Kokyu/Dispatch_Deferrer.cpp @@ -93,6 +93,8 @@ Dispatch_Deferrer::handle_timeout (const ACE_Time_Value &, ++begin; } + + return 0; } } //namespace Kokyu diff --git a/Kokyu/Dispatch_Deferrer.h b/Kokyu/Dispatch_Deferrer.h index c7ae8cc6cc1..f110070a74c 100644 --- a/Kokyu/Dispatch_Deferrer.h +++ b/Kokyu/Dispatch_Deferrer.h @@ -20,6 +20,7 @@ #include "Kokyu_defs.h" #include "ace/Event_Handler.h" #include "ace/Thread_Mutex.h" +#include "ace/Synch_T.h" #include "ace/Message_Block.h" #include "ace/Message_Queue.h" #include "ace/Reactor.h" diff --git a/Kokyu/Dispatcher_Task.cpp b/Kokyu/Dispatcher_Task.cpp index 5fcce5f328e..4c38c1ef4da 100644 --- a/Kokyu/Dispatcher_Task.cpp +++ b/Kokyu/Dispatcher_Task.cpp @@ -157,7 +157,7 @@ Dispatcher_Task::enqueue (const Dispatch_Command* cmd, if (buf == 0) return -1; - ACE_Message_Block *mb = + Dispatch_Queue_Item *qitem = new (buf) Dispatch_Queue_Item (cmd, qos_info, &(this->data_block_), @@ -176,18 +176,10 @@ Dispatcher_Task::enqueue (const Dispatch_Command* cmd, ACE_Time_Value release; release.msec(rel_msec); release += qos_info.deadline_; + if (now < release) { //defer until last release time + period - Dispatch_Queue_Item *qitem = - ACE_dynamic_cast(Dispatch_Queue_Item*, mb); - - if (qitem == 0) - { - ACE_Message_Block::release (mb); - continue; - } - this->deferrer_.dispatch(qitem); } else @@ -195,7 +187,7 @@ Dispatcher_Task::enqueue (const Dispatch_Command* cmd, //release! #endif //KOKYU_HAS_RELEASE_GUARD - this->enqueue (mb); + this->enqueue (qitem); #ifdef KOKYU_HAS_RELEASE_GUARD } //else now >= release -- cgit v1.2.1