diff options
author | mhengstmengel <mhengstmengel@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2010-08-26 09:05:56 +0000 |
---|---|---|
committer | mhengstmengel <mhengstmengel@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2010-08-26 09:05:56 +0000 |
commit | ac9784122e3e7d9944cfe7696ecfcef633f37356 (patch) | |
tree | 979bddfe0f1ae506f35291ef2bd6449b86e5e9f4 /CIAO | |
parent | 0ed1c3cf05dd49a9ae8f2b4e0e3a230816c9ef12 (diff) | |
download | ATCD-ac9784122e3e7d9944cfe7696ecfcef633f37356.tar.gz |
hu Aug 26 09:01:31 UTC 2010 Marijke Hengstmengel <mhengstmengel@remedy.nl>
* connectors/dds4ccm/tests/Updater/Receiver/Updater_Receiver_exec.h:
* connectors/dds4ccm/tests/Updater/Receiver/Updater_Receiver_exec.cpp:
Made use of platform independant ACE_Thread_ID class for testing thread switch.
Diffstat (limited to 'CIAO')
-rw-r--r-- | CIAO/ChangeLog | 6 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/tests/Updater/Receiver/Updater_Receiver_exec.cpp | 55 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/tests/Updater/Receiver/Updater_Receiver_exec.h | 8 |
3 files changed, 41 insertions, 28 deletions
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog index bca1dc0dbd1..5ffb444169a 100644 --- a/CIAO/ChangeLog +++ b/CIAO/ChangeLog @@ -1,3 +1,9 @@ +Thu Aug 26 09:01:31 UTC 2010 Marijke Hengstmengel <mhengstmengel@remedy.nl> + + * connectors/dds4ccm/tests/Updater/Receiver/Updater_Receiver_exec.h: + * connectors/dds4ccm/tests/Updater/Receiver/Updater_Receiver_exec.cpp: + Made use of platform independant ACE_Thread_ID class for testing thread switch. + Thu Aug 26 03:18:31 UTC 2010 William R. Otte <wotte@dre.vanderbilt.edu> * DAnCE/LocalityManager/Handler/Plugin_Conf.h: diff --git a/CIAO/connectors/dds4ccm/tests/Updater/Receiver/Updater_Receiver_exec.cpp b/CIAO/connectors/dds4ccm/tests/Updater/Receiver/Updater_Receiver_exec.cpp index adf194d81ac..0430acc2d87 100644 --- a/CIAO/connectors/dds4ccm/tests/Updater/Receiver/Updater_Receiver_exec.cpp +++ b/CIAO/connectors/dds4ccm/tests/Updater/Receiver/Updater_Receiver_exec.cpp @@ -18,7 +18,7 @@ namespace CIAO_Updater_Receiver_Impl // ListenOneByOneTest_Listener_exec_i //============================================================ ListenOneByOneTest_Listener_exec_i::ListenOneByOneTest_Listener_exec_i ( - Atomic_ThreadId &thread_id) + ACE_Thread_ID &thread_id) : thread_id_ (thread_id) { } @@ -32,7 +32,10 @@ namespace CIAO_Updater_Receiver_Impl const TestTopic & an_instance, const ::CCM_DDS::ReadInfo & info) { - this->thread_id_ = ACE_Thread::self (); + ACE_Thread_ID t_id; + this->thread_id_.handle (t_id.handle ()); + this->thread_id_.id (t_id.id ()); + ACE_DEBUG ((LM_DEBUG, "ListenOneByOneTest_Listener_exec_i::on_one_data: " "key <%C> - iteration <%d>\n", an_instance.key.in (), @@ -67,7 +70,6 @@ namespace CIAO_Updater_Receiver_Impl // Receiver_exec_i //============================================================ Receiver_exec_i::Receiver_exec_i (void) - : thread_id_listener_ (0) { } @@ -118,53 +120,58 @@ namespace CIAO_Updater_Receiver_Impl void Receiver_exec_i::ccm_passivate (void) { + } void Receiver_exec_i::ccm_remove (void) { - if (this->thread_id_listener_.value () == 0) + char ccm_buf [65]; + ACE_Thread_ID ccm_thread_id; + ccm_thread_id.to_string (ccm_buf); + + char list_buf [65]; + this->thread_id_listener_.to_string(list_buf); + if (this->thread_id_listener_.id() == 0) { ACE_ERROR ((LM_ERROR, "ERROR: " "Thread ID for ReaderListener not set!\n")); } - #if (CIAO_DDS4CCM_CONTEXT_SWITCH == 1) - else if (ACE_OS::thr_equal (this->thread_id_listener_.value (), - ACE_Thread::self ())) +#if (CIAO_DDS4CCM_CONTEXT_SWITCH == 1) + else if (this->thread_id_listener_ == ccm_thread_id) { ACE_DEBUG ((LM_DEBUG, "ONE_BY_ONE: " "Thread switch for ReaderListener seems OK. " "(DDS uses the CCM thread for its callback) " - "listener <%u> - component <%u>\n", - this->thread_id_listener_.value (), - ACE_Thread::self ())); + "listener <%C> - component <%C>\n", + list_buf, + ccm_buf)); } else { ACE_ERROR ((LM_ERROR, "ERROR: ONE_BY_ONE: " "Thread switch for ReaderListener " "doesn't seem to work! " - "listener <%u> - component <%u>\n", - this->thread_id_listener_.value (), - ACE_Thread::self ())); + "listener <%C> - component <%C>\n", + list_buf, + ccm_buf)); } - #else - else if (ACE_OS::thr_equal (this->thread_id_listener_.value (), - ACE_Thread::self ())) - { + #else + else if (this->thread_id_listener_ == ccm_thread_id) + { ACE_ERROR ((LM_ERROR, "ERROR: ONE_BY_ONE: ReaderListener: " "DDS seems to use a CCM thread for its callback: " - "listener <%u> - component <%u>\n", - this->thread_id_listener_.value (), - ACE_Thread::self ())); - } + "listener <%C> - component <%C>\n", + list_buf, + ccm_buf)); + } else { ACE_DEBUG ((LM_DEBUG, "ONE_BY_ONE: ReaderListener: " "DDS seems to use its own thread for its callback: " - "listener <%u> - component <%u>\n", - this->thread_id_listener_.value (), - ACE_Thread::self ())); + "listener <%C> - component <%C>\n", + list_buf, + ccm_buf)); } #endif diff --git a/CIAO/connectors/dds4ccm/tests/Updater/Receiver/Updater_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/Updater/Receiver/Updater_Receiver_exec.h index 9adea0cc8db..cf8bc53a507 100644 --- a/CIAO/connectors/dds4ccm/tests/Updater/Receiver/Updater_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/Updater/Receiver/Updater_Receiver_exec.h @@ -20,7 +20,6 @@ namespace CIAO_Updater_Receiver_Impl { typedef ACE_Atomic_Op <TAO_SYNCH_MUTEX, CORBA::Boolean > Atomic_Boolean; - typedef ACE_Atomic_Op <TAO_SYNCH_MUTEX, ACE_thread_t> Atomic_ThreadId; class Receiver_exec_i; @@ -32,7 +31,8 @@ namespace CIAO_Updater_Receiver_Impl public virtual ::CORBA::LocalObject { public: - ListenOneByOneTest_Listener_exec_i (Atomic_ThreadId &); + ListenOneByOneTest_Listener_exec_i (ACE_Thread_ID &); + virtual ~ListenOneByOneTest_Listener_exec_i (void); virtual void @@ -44,7 +44,7 @@ namespace CIAO_Updater_Receiver_Impl const TestTopicSeq & an_instance, const ::CCM_DDS::ReadInfoSeq & info); private: - Atomic_ThreadId &thread_id_; + ACE_Thread_ID &thread_id_; }; //============================================================ @@ -78,7 +78,7 @@ namespace CIAO_Updater_Receiver_Impl private: ::Updater::CCM_Receiver_Context_var context_; - Atomic_ThreadId thread_id_listener_; + ACE_Thread_ID thread_id_listener_; }; extern "C" RECEIVER_EXEC_Export ::Components::EnterpriseComponent_ptr |