diff options
author | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-01-01 08:00:34 +0000 |
---|---|---|
committer | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-01-01 08:00:34 +0000 |
commit | 437eea6fa08e931864f89be91d14a816f69075c7 (patch) | |
tree | b8c1fd723fdcd61c3855d3a3a21a9cd45a268219 /tests/Process_Mutex_Test.cpp | |
parent | ea0d28240863caf437a18071bfd03e7b146c5ade (diff) | |
download | ATCD-unlabeled-4.2.2.tar.gz |
This commit was manufactured by cvs2svn to create branchunlabeled-4.2.2
'unlabeled-4.2.2'.
Diffstat (limited to 'tests/Process_Mutex_Test.cpp')
-rw-r--r-- | tests/Process_Mutex_Test.cpp | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/tests/Process_Mutex_Test.cpp b/tests/Process_Mutex_Test.cpp deleted file mode 100644 index 483b305a495..00000000000 --- a/tests/Process_Mutex_Test.cpp +++ /dev/null @@ -1,133 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// tests -// -// = FILENAME -// Process_Mutex_Test.cpp -// -// = DESCRIPTION -// Tests a Process Mutex shared between multiple processes -// -// = AUTHOR -// Irfan Pyarali -// -// ============================================================================ - -#include "ace/Synch.h" -#include "ace/Process.h" -#include "ace/Get_Opt.h" -#include "test_config.h" - -static int release_mutex = 1; -static int child_process = 0; -static char *mutex_name = ACE_DEFAULT_MUTEX_A; - -// Explain usage and exit. -static void -print_usage_and_die (void) -{ - ACE_DEBUG ((LM_DEBUG, - "usage: %n [-d (don't release mutex)] [-c (child process)] [-n mutex name] \n")); - ACE_OS::exit (1); -} - -// Parse the command-line arguments and set options. -static void -parse_args (int argc, char *argv[]) -{ - ACE_Get_Opt get_opt (argc, argv, "dcn:"); - - int c; - - while ((c = get_opt ()) != -1) - switch (c) - { - case 'd': - release_mutex = 0; - break; - case 'c': - child_process = 1; - break; - case 'n': - mutex_name = get_opt.optarg; - break; - default: - print_usage_and_die (); - break; - } -} - -static void -acquire_release (void) -{ - ACE_Process_Mutex mutex (ACE_WIDE_STRING (mutex_name)); - // Make sure the constructor succeeded - ACE_ASSERT (ACE_LOG_MSG->op_status () == 0); - // Grab the lock - ACE_ASSERT (mutex.acquire () == 0); - ACE_DEBUG ((LM_DEBUG, "(%P) Mutex acquired %s\n", mutex_name)); - ACE_DEBUG ((LM_DEBUG, "(%P) Working....\n")); - // work - ACE_OS::sleep (2); - // Check if we need to release the mutex - if (release_mutex == 1) - { - ACE_DEBUG ((LM_DEBUG, "(%P) Releasing the mutex %s\n", mutex_name)); - ACE_ASSERT (mutex.release () == 0); - } -} - -int -main (int argc, char *argv[]) -{ - parse_args (argc, argv); - - // Child process code - if (child_process) - { - ACE_APPEND_LOG ("Process_Mutex_Test-children"); - acquire_release (); - ACE_END_LOG; - } - else - { - ACE_START_TEST ("Process_Mutex_Test"); - ACE_INIT_LOG ("Process_Mutex_Test-children"); - - char *s_argv[6]; - s_argv[0] = "Process_Mutex_Test" ACE_PLATFORM_EXE_SUFFIX; - s_argv[1] = "-c"; // child/slave process - s_argv[2] = "-n"; - s_argv[3] = mutex_name; - if (release_mutex == 0) - s_argv[4] = "-d"; - else - s_argv[4] = 0; - s_argv[5] = 0; - - // Spawn ACE_MAX_ITERATIONS processes which will contend for the lock - ACE_Process servers[ACE_MAX_ITERATIONS]; - int i; - - for (i = 0; i < ACE_MAX_ITERATIONS; i++) - { - ACE_ASSERT (servers[i].start (s_argv) != -1); - - ACE_DEBUG ((LM_DEBUG, "Server forked with pid = %d.\n", servers[i].getpid ())); - - } - - for (i = 0; i < ACE_MAX_ITERATIONS; i++) - { - // Wait for the process we created to exit. - ACE_ASSERT (servers[i].wait () != -1); - ACE_DEBUG ((LM_DEBUG, "Server %d finished\n", servers[i].getpid ())); - } - ACE_END_TEST; - } - - return 0; -} |