diff options
Diffstat (limited to 'tests/Thread_Mutex_Test.cpp')
-rw-r--r-- | tests/Thread_Mutex_Test.cpp | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/tests/Thread_Mutex_Test.cpp b/tests/Thread_Mutex_Test.cpp deleted file mode 100644 index e65de696341..00000000000 --- a/tests/Thread_Mutex_Test.cpp +++ /dev/null @@ -1,89 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// tests -// -// = FILENAME -// Thread_Mutex_Test.cpp -// -// = DESCRIPTION -// This is a simple test to illustrate the functionality of -// ACE_Thread_Mutex. The test acquires and releases mutexes. No -// command line arguments are needed to run the test. -// -// = AUTHOR -// Prashant Jain and Doug Schmidt -// -// ============================================================================ - -#include "test_config.h" -#include "ace/Thread_Manager.h" - -ACE_RCSID(tests, Thread_Mutex_Test, "$Id$") - -#if defined(__BORLANDC__) && __BORLANDC__ >= 0x0530 -USELIB("..\ace\aced.lib"); -//--------------------------------------------------------------------------- -#endif /* defined(__BORLANDC__) && __BORLANDC__ >= 0x0530 */ - -#if defined (ACE_HAS_THREADS) -static void * -test (void *args) -{ - ACE_Thread_Mutex *mutex = (ACE_Thread_Mutex *) args; - ACE_UNUSED_ARG (mutex); // To suppress ghs warning about unused - // local variable "mutex". - ACE_OS::srand (ACE_OS::time (0)); - - for (size_t i = 0; i < ACE_MAX_ITERATIONS / 2; i++) - { - ACE_DEBUG ((LM_DEBUG, ASYS_TEXT ("(%P|%t) = trying to acquire on iteration %d\n"), i)); - ACE_ASSERT (mutex->acquire () == 0); - ACE_DEBUG ((LM_DEBUG, ASYS_TEXT ("(%P|%t) = acquired on iteration %d\n"), i)); - - // Sleep for a random amount of time between 0 and 2 seconds. - // Note that it's ok to use rand() here because we are running - // within the critical section defined by the Thread_Mutex. - ACE_OS::sleep (ACE_OS::rand () % 2); - - ACE_ASSERT (mutex->release () == 0); - ACE_DEBUG ((LM_DEBUG, ASYS_TEXT ("(%P|%t) = released on iteration %d\n"), i)); - } - - return 0; -} -#endif /* ACE_HAS_THREADS */ - -static void -spawn (void) -{ -#if defined (ACE_HAS_THREADS) - ACE_Thread_Mutex mutex; - - if (ACE_Thread_Manager::instance ()->spawn_n (ACE_MAX_THREADS, - ACE_THR_FUNC (test), - (void *) &mutex, - THR_NEW_LWP | THR_DETACHED) == -1) - ACE_ERROR ((LM_ERROR, ASYS_TEXT ("%p\n%a"), ASYS_TEXT ("thread create failed"))); - - // Wait for the threads to exit. - ACE_Thread_Manager::instance ()->wait (); - -#else - ACE_ERROR ((LM_INFO, - ASYS_TEXT ("threads not supported on this platform\n"))); -#endif /* ACE_HAS_THREADS */ -} - -int -main (int, ASYS_TCHAR *[]) -{ - ACE_START_TEST (ASYS_TEXT ("Thread_Mutex_Test")); - - spawn (); - - ACE_END_TEST; - return 0; -} |