diff options
author | jxh <jxh@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-08-02 05:43:28 +0000 |
---|---|---|
committer | jxh <jxh@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-08-02 05:43:28 +0000 |
commit | 15e2b6fd6b5c68af8d1a33e760833101f179f0f3 (patch) | |
tree | a9cc14750bc4b51a6a47e731fabcd3cd3609ea63 /apps/JAWS | |
parent | 1e5886583f240b747fffc1080f106f4fbb1efc10 (diff) | |
download | ATCD-15e2b6fd6b5c68af8d1a33e760833101f179f0f3.tar.gz |
Make sure handler->task () is advanced before accept () is called
so that the framework will work properly in ASYNCH mode.
Diffstat (limited to 'apps/JAWS')
-rw-r--r-- | apps/JAWS/PROTOTYPE/JAWS/Pipeline_Tasks.cpp | 16 | ||||
-rw-r--r-- | apps/JAWS/PROTOTYPE/JAWS/Pipeline_Tasks.h | 1 |
2 files changed, 17 insertions, 0 deletions
diff --git a/apps/JAWS/PROTOTYPE/JAWS/Pipeline_Tasks.cpp b/apps/JAWS/PROTOTYPE/JAWS/Pipeline_Tasks.cpp index 3fd60b3552e..8cb4892274a 100644 --- a/apps/JAWS/PROTOTYPE/JAWS/Pipeline_Tasks.cpp +++ b/apps/JAWS/PROTOTYPE/JAWS/Pipeline_Tasks.cpp @@ -32,6 +32,22 @@ JAWS_Pipeline_Handler::put (ACE_Message_Block *mb, ACE_Time_Value *tv) } int +JAWS_Pipeline_Accept_Task::put (ACE_Message_Block *mb, ACE_Time_Value *tv) +{ + JAWS_Data_Block *db = ACE_dynamic_cast (JAWS_Data_Block *, mb); + + JAWS_Pipeline_Handler *task = db->io_handler ()->task (); + JAWS_Pipeline_Handler *next + = ACE_dynamic_cast (JAWS_Pipeline_Handler *, task->next ()); + + db->io_handler ()->task (next); + + int status = this->handle_put (db, tv); + + return status; +} + +int JAWS_Pipeline_Accept_Task::handle_put (JAWS_Data_Block *data, ACE_Time_Value *) { diff --git a/apps/JAWS/PROTOTYPE/JAWS/Pipeline_Tasks.h b/apps/JAWS/PROTOTYPE/JAWS/Pipeline_Tasks.h index 564caf6243c..bea10546203 100644 --- a/apps/JAWS/PROTOTYPE/JAWS/Pipeline_Tasks.h +++ b/apps/JAWS/PROTOTYPE/JAWS/Pipeline_Tasks.h @@ -22,6 +22,7 @@ public: class JAWS_Pipeline_Accept_Task : public JAWS_Pipeline_Handler { public: + virtual int put (ACE_Message_Block *mb, ACE_Time_Value *tv = 0); virtual int handle_put (JAWS_Data_Block *data, ACE_Time_Value *tv); }; |