diff options
Diffstat (limited to 'TAO/tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp')
-rw-r--r-- | TAO/tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/TAO/tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp b/TAO/tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp deleted file mode 100644 index 91385e5b405..00000000000 --- a/TAO/tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp +++ /dev/null @@ -1,86 +0,0 @@ -// $Id$ - -#include "Util_Thread.h" - -Util_Thread::Util_Thread (Task_State *ts, - ACE_Thread_Manager *thr_mgr) - : ACE_MT (ACE_Task<ACE_MT_SYNCH> (thr_mgr)), - done_ (0), - number_of_computations_ (0), - ts_ (ts) -{ -} - -int -Util_Thread::svc (void) -{ - ACE_DEBUG ((LM_DEBUG, - "(%t) Utilization Thread created, " - "waiting for threads to finish binding\n")); - - // this barrier synchronizes the utilization thread with - // the client threads - // i.e., the Util_thread should wait until all the - // clients have finished binding, and only then - // start measuring the utilization. - this->ts_->barrier_->wait (); - - ACE_DEBUG ((LM_DEBUG, - "(%t) Threads have bound, " - "utilization test STARTED\n")); - - this->run_computations (); - - ACE_DEBUG ((LM_DEBUG, - "(%t) utilization test ENDED\n")); - - return 0; -} - -double -Util_Thread::get_number_of_computations (void) -{ - return this->number_of_computations_; -} - -// computation performed by the Utilization thread. We need this in a -// separate function to get it's execution time. -//inline -void -Util_Thread::computation (void) -{ - // This is the number that the Util_Thread uses to check for - // primality. - const u_long CUBIT_PRIME_NUMBER = 509UL; - - // See if this number is prime. 2 and CUBIT_PRIME_NUMBER / 2 are - // the recommended values for min_factor and max_factor, as - // explained in ACE.h (is_prime). - ACE::is_prime (CUBIT_PRIME_NUMBER, - 2UL, - CUBIT_PRIME_NUMBER / 2); -} - -// Perform repeated prime factor computations on an arbitrary number. -// And you thought your life was boring... :-) -int -Util_Thread::run_computations (void) -{ - while (this->done_ == 0) - { - // bound the number of computations, since we can potentially - // block the machine if this thread never leaves the loop. - if (this->number_of_computations_ > (ts_->loop_count_ * 50)) // magic number - { - ACE_DEBUG ((LM_DEBUG, - "\t(%t) utilization test breaking loop so machine won't block.\n")); - break; - } - this->computation (); - this->number_of_computations_ ++; - ACE_OS::thr_yield (); // Shouldn't need this. And I'm not sure - // if it really helps. - } - - return 0; -} |