diff options
Diffstat (limited to 'performance-tests/Synch-Benchmarks/conds_test.cpp')
-rw-r--r-- | performance-tests/Synch-Benchmarks/conds_test.cpp | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/performance-tests/Synch-Benchmarks/conds_test.cpp b/performance-tests/Synch-Benchmarks/conds_test.cpp deleted file mode 100644 index fb26bfc8967..00000000000 --- a/performance-tests/Synch-Benchmarks/conds_test.cpp +++ /dev/null @@ -1,71 +0,0 @@ -// $Id$ - -#define ACE_BUILD_SVC_DLL -#include "ace/Synch.h" -#include "Options.h" -#include "Benchmark.h" - -#if defined (ACE_HAS_THREADS) - -class ACE_Svc_Export Cond_Signal_Test : public Benchmark -{ -public: - virtual int svc (void); - -private: - static ACE_Thread_Mutex mutex; - static int resources; - - static ACE_Condition_Thread_Mutex notfull; - static ACE_Condition_Thread_Mutex notempty; -}; - -ACE_Thread_Mutex Cond_Signal_Test::mutex; -int Cond_Signal_Test::resources; -ACE_Condition_Thread_Mutex Cond_Signal_Test::notfull (Cond_Signal_Test::mutex); -ACE_Condition_Thread_Mutex Cond_Signal_Test::notempty (Cond_Signal_Test::mutex); - -int -Cond_Signal_Test::svc (void) -{ - int ni = this->thr_id (); - synch_count = 2; - - // This is a horrible hack and only works for Solaris threads. This - // clearly needs to change... - if (ni == 4) - while (!this->done ()) - { - mutex.acquire (); - - while (resources > 0) - notfull.wait (); - - options.thr_work_count[ni]++; - resources = options.thr_count () - 1; - buffer++; - notempty.signal (); - mutex.release (); - } - else - while (!this->done ()) - { - mutex.acquire (); - while (resources == 0) - notempty.wait (); - options.thr_work_count[ni]++; - buffer++; - if (--resources == 0) - notfull.signal (); - mutex.release (); - } - - /* NOTREACHED */ - return 0; -} - -ACE_SVC_FACTORY_DECLARE (Cond_Signal_Test) -ACE_SVC_FACTORY_DEFINE (Cond_Signal_Test) - -// ACE_Service_Object_Type cst (&cond_signal_test, "Condition_Signal_Test"); -#endif /* ACE_HAS_THREADS */ |