summaryrefslogtreecommitdiff
path: root/examples/Synch/proc_sema.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/Synch/proc_sema.cpp')
-rw-r--r--examples/Synch/proc_sema.cpp96
1 files changed, 0 insertions, 96 deletions
diff --git a/examples/Synch/proc_sema.cpp b/examples/Synch/proc_sema.cpp
deleted file mode 100644
index 03c5130d163..00000000000
--- a/examples/Synch/proc_sema.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-// $Id$
-
-#include "ace/Process_Semaphore.h"
-#include "ace/Synch_T.h"
-#include "ace/Get_Opt.h"
-#include "ace/Log_Msg.h"
-
-int producer (ACE_SYNCH_PROCESS_SEMAPHORE &sema,
- int iter)
-{
- for (int i = iter; i > 0; --i)
- {
- ACE_DEBUG ((LM_DEBUG,
- "Try acquiring the semaphore (%d): ",
- i));
-
- int result = sema.release ();
-
- ACE_DEBUG ((LM_DEBUG,
- "%s",
- (result != 0 ? "fail\n" : "succeed\n")));
- }
- return 0;
-}
-
-int consumer (ACE_SYNCH_PROCESS_SEMAPHORE &sema,
- int iter)
-{
- for (int i = iter; i > 0; --i)
- {
- ACE_DEBUG ((LM_DEBUG,
- "Try acquiring the semaphore (%d): ",
- i));
-
- int result = sema.acquire ();
-
- ACE_DEBUG ((LM_DEBUG,
- "%s",
- (result != 0 ? "fail\n" : "succeed\n")));
- }
- return 0;
-}
-
-
-int main (int argc, ACE_TCHAR *argv[])
-{
- ACE_Get_Opt getopt (argc, argv, "csn:xi:d:");
-
- int is_consumer = 1; // By default, make us a consumer.
- int delete_sema = 0;
- int iteration = 0;
- int exit_delay = 0;
- const ACE_TCHAR *sema_name = ACE_TEXT ("Process_Semaphore_Test");
-
- int opt;
-
- while ((opt = getopt ()) != -1)
- {
- switch (opt)
- {
- case 'c': // Make us a consumer.
- is_consumer = 1;
- break;
- case 's': // Make us a supplier.
- is_consumer = 0;
- break;
- case 'x': // Remove the semaphore after we're done.
- delete_sema = 1;
- break;
- case 'n': // Specify the name of the semaphore.
- sema_name = getopt.optarg;
- break;
- case 'i': // Number of acquire/release we'll perform.
- iteration = ACE_OS::atoi (getopt.optarg);
- break;
- case 'd':
- exit_delay = ACE_OS::atoi (getopt.optarg);
- break;
- default:
- return -1;
- }
- };
-
- ACE_SYNCH_PROCESS_SEMAPHORE sema (0, sema_name);
-
- if (is_consumer != 0)
- consumer (sema, iteration);
- else
- producer (sema, iteration);
-
- ACE_OS::sleep (exit_delay);
-
- if (delete_sema != 0)
- sema.remove ();
- return 0;
-}