diff options
Diffstat (limited to 'examples/System_V_IPC')
18 files changed, 0 insertions, 1242 deletions
diff --git a/examples/System_V_IPC/Makefile b/examples/System_V_IPC/Makefile deleted file mode 100644 index 447990c03f8..00000000000 --- a/examples/System_V_IPC/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -#---------------------------------------------------------------------------- -# $Id$ -# -# Makefile for the System V IPC directory -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -INFO = README - -DIRS = SV_Message_Queues \ - SV_Semaphores \ - SV_Shared_Memory - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU - -ifdef VXWORKS - all.nested: any - debug.nested: any - profile.nested: any - install.nested: any - deinstall.nested: any - clean.nested: any - realclean.nested: any - clobber.nested: any - depend.nested: any - rcs_info.nested: any - any clean realclean: - @echo These examples won\'t run or build for VxWorks. -else - include $(ACE_ROOT)/include/makeinclude/rules.common.GNU - include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU - include $(ACE_ROOT)/include/makeinclude/rules.nolocal.GNU -endif # VXWORKS diff --git a/examples/System_V_IPC/README b/examples/System_V_IPC/README deleted file mode 100644 index c5ebde21a60..00000000000 --- a/examples/System_V_IPC/README +++ /dev/null @@ -1,13 +0,0 @@ -This directory contains a number of examples that illustrate how to -use the following ACE library components: - - . SV_Message_Queues - Illustrates the ACE wrappers for System V Message - Queues. - - . SV_Semaphores - Illustrates the ACE wrappers for System V Semaphores. - - . SV_Shared_Memory - Illustrates the ACE wrappers for System V Shared Memory. - diff --git a/examples/System_V_IPC/SV_Message_Queues/MQ_Client.cpp b/examples/System_V_IPC/SV_Message_Queues/MQ_Client.cpp deleted file mode 100644 index 140d5f491e7..00000000000 --- a/examples/System_V_IPC/SV_Message_Queues/MQ_Client.cpp +++ /dev/null @@ -1,35 +0,0 @@ -// $Id$ - -#include "ace/SV_Message_Queue.h" -#include "test.h" -#include "ace/streams.h" - -ACE_RCSID(SV_Message_Queues, MQ_Client, "$Id$") - -int -main (int, char *[]) -{ - long pid = long (ACE_OS::getpid ()); - ACE_SV_Message_Queue msgque (SRV_KEY); - Message_Block send_msg (SRV_ID, - pid, - ACE_OS::cuserid (0), - "did you get this?"); - Message_Block recv_msg (pid); - - if (msgque.send (send_msg, send_msg.length ()) < 0) - ACE_OS::perror ("msgque.send"), ACE_OS::exit (1); - - if (msgque.recv (recv_msg, sizeof (Message_Data), recv_msg.type ()) < 0) - ACE_OS::perror ("msgrcv"), ACE_OS::exit (1); - - cout << "a message of length " - << recv_msg.length () - << " received from server " - << recv_msg.pid () - << " (user " - << recv_msg.user () << "): " - << recv_msg.text () << "\n"; - - return 0; -} diff --git a/examples/System_V_IPC/SV_Message_Queues/MQ_Server.cpp b/examples/System_V_IPC/SV_Message_Queues/MQ_Server.cpp deleted file mode 100644 index 531604bcb1b..00000000000 --- a/examples/System_V_IPC/SV_Message_Queues/MQ_Server.cpp +++ /dev/null @@ -1,62 +0,0 @@ -// $Id$ - -#include "ace/Signal.h" -#include "ace/SV_Message_Queue.h" -#include "ace/streams.h" -#include "test.h" - -ACE_RCSID(SV_Message_Queues, MQ_Server, "$Id$") - -// Must be global for signal Message... -static ACE_SV_Message_Queue ace_sv_message_queue (SRV_KEY, - ACE_SV_Message_Queue::ACE_CREATE); - -extern "C" void -handler (int) -{ - if (ace_sv_message_queue.remove () < 0) - ACE_OS::perror ("ace_sv_message_queue.close"), ACE_OS::exit (1); - ACE_OS::exit (0); -} - -int -main (int, char *[]) -{ - long pid = long (ACE_OS::getpid ()); - Message_Block recv_msg (SRV_ID); - Message_Block send_msg (0, - pid, - ACE_OS::cuserid (0), - "I received your message."); - - // Register a signal handler. - ACE_Sig_Action sa ((ACE_SignalHandler) handler, SIGINT); - ACE_UNUSED_ARG (sa); - - for (;;) - { - if (ace_sv_message_queue.recv (recv_msg, - sizeof (Message_Data), - recv_msg.type ()) == -1) - ::perror ("ace_sv_message_queue.recv"), ACE_OS::exit (1); - - cout << "a msg of length " - << recv_msg.length () - << " sent from client " - << recv_msg.pid () - << " (user " - << recv_msg.user () << "): " - << recv_msg.text () << "\n"; - - cout.flush (); - - send_msg.type (recv_msg.pid ()); - - if (ace_sv_message_queue.send (send_msg, - send_msg.length ()) == -1) - ACE_OS::perror ("ace_sv_message_queue.send"), ACE_OS::exit (1); - } - - /* NOTREACHED */ - return 0; -} diff --git a/examples/System_V_IPC/SV_Message_Queues/Makefile b/examples/System_V_IPC/SV_Message_Queues/Makefile deleted file mode 100644 index 1557d9ffbc6..00000000000 --- a/examples/System_V_IPC/SV_Message_Queues/Makefile +++ /dev/null @@ -1,225 +0,0 @@ -#---------------------------------------------------------------------------- -# $Id$ -# -# Makefile for testing the typed and untyped Message Queue abstraction -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -BIN = MQ_Server \ - MQ_Client \ - TMQ_Server \ - TMQ_Client - -LSRC = $(addsuffix .cpp,$(BIN)) - -LDLIBS = - -VLDLIBS = $(LDLIBS:%=%$(VAR)) - -BUILD = $(VBIN) - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU -include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU -include $(ACE_ROOT)/include/makeinclude/rules.local.GNU - -#---------------------------------------------------------------------------- -# Local targets -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Dependencies -#---------------------------------------------------------------------------- - -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. - -.obj/MQ_Server.o .obj/MQ_Server.so .shobj/MQ_Server.o .shobj/MQ_Server.so: MQ_Server.cpp \ - $(ACE_ROOT)/ace/Signal.h \ - $(ACE_ROOT)/ace/Synch.h \ - $(ACE_ROOT)/ace/ACE.h \ - $(ACE_ROOT)/ace/OS.h \ - $(ACE_ROOT)/ace/inc_user_config.h \ - $(ACE_ROOT)/ace/config.h \ - $(ACE_ROOT)/ace/config-sunos5.5.h \ - $(ACE_ROOT)/ace/config-g++-common.h \ - $(ACE_ROOT)/ace/streams.h \ - $(ACE_ROOT)/ace/Basic_Types.h \ - $(ACE_ROOT)/ace/Basic_Types.i \ - $(ACE_ROOT)/ace/OS.i \ - $(ACE_ROOT)/ace/Trace.h \ - $(ACE_ROOT)/ace/Log_Msg.h \ - $(ACE_ROOT)/ace/Log_Record.h \ - $(ACE_ROOT)/ace/ACE.i \ - $(ACE_ROOT)/ace/Log_Priority.h \ - $(ACE_ROOT)/ace/Log_Record.i \ - $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ - $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ - $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ - $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ - $(ACE_ROOT)/ace/Synch.i \ - $(ACE_ROOT)/ace/Synch_T.h \ - $(ACE_ROOT)/ace/Event_Handler.h \ - $(ACE_ROOT)/ace/Event_Handler.i \ - $(ACE_ROOT)/ace/Synch_T.i \ - $(ACE_ROOT)/ace/Thread.h \ - $(ACE_ROOT)/ace/Thread.i \ - $(ACE_ROOT)/ace/Atomic_Op.i \ - $(ACE_ROOT)/ace/Synch_T.cpp \ - $(ACE_ROOT)/ace/Containers.h \ - $(ACE_ROOT)/ace/Containers.i \ - $(ACE_ROOT)/ace/Containers_T.h \ - $(ACE_ROOT)/ace/Containers_T.i \ - $(ACE_ROOT)/ace/Containers_T.cpp \ - $(ACE_ROOT)/ace/Malloc.h \ - $(ACE_ROOT)/ace/Malloc_Base.h \ - $(ACE_ROOT)/ace/Malloc.i \ - $(ACE_ROOT)/ace/Malloc_T.h \ - $(ACE_ROOT)/ace/Free_List.h \ - $(ACE_ROOT)/ace/Free_List.i \ - $(ACE_ROOT)/ace/Free_List.cpp \ - $(ACE_ROOT)/ace/Malloc_T.i \ - $(ACE_ROOT)/ace/Malloc_T.cpp \ - $(ACE_ROOT)/ace/Memory_Pool.h \ - $(ACE_ROOT)/ace/Mem_Map.h \ - $(ACE_ROOT)/ace/Mem_Map.i \ - $(ACE_ROOT)/ace/Memory_Pool.i \ - $(ACE_ROOT)/ace/Signal.i \ - $(ACE_ROOT)/ace/Object_Manager.h \ - $(ACE_ROOT)/ace/Object_Manager.i \ - $(ACE_ROOT)/ace/Managed_Object.h \ - $(ACE_ROOT)/ace/Managed_Object.i \ - $(ACE_ROOT)/ace/Managed_Object.cpp \ - $(ACE_ROOT)/ace/SV_Message_Queue.h \ - $(ACE_ROOT)/ace/SV_Message.h \ - $(ACE_ROOT)/ace/SV_Message.i \ - $(ACE_ROOT)/ace/SV_Message_Queue.i \ - test.h -.obj/MQ_Client.o .obj/MQ_Client.so .shobj/MQ_Client.o .shobj/MQ_Client.so: MQ_Client.cpp \ - $(ACE_ROOT)/ace/SV_Message_Queue.h \ - $(ACE_ROOT)/ace/ACE.h \ - $(ACE_ROOT)/ace/OS.h \ - $(ACE_ROOT)/ace/inc_user_config.h \ - $(ACE_ROOT)/ace/config.h \ - $(ACE_ROOT)/ace/config-sunos5.5.h \ - $(ACE_ROOT)/ace/config-g++-common.h \ - $(ACE_ROOT)/ace/streams.h \ - $(ACE_ROOT)/ace/Basic_Types.h \ - $(ACE_ROOT)/ace/Basic_Types.i \ - $(ACE_ROOT)/ace/OS.i \ - $(ACE_ROOT)/ace/Trace.h \ - $(ACE_ROOT)/ace/Log_Msg.h \ - $(ACE_ROOT)/ace/Log_Record.h \ - $(ACE_ROOT)/ace/ACE.i \ - $(ACE_ROOT)/ace/Log_Priority.h \ - $(ACE_ROOT)/ace/Log_Record.i \ - $(ACE_ROOT)/ace/SV_Message.h \ - $(ACE_ROOT)/ace/SV_Message.i \ - $(ACE_ROOT)/ace/SV_Message_Queue.i \ - test.h -.obj/TMQ_Server.o .obj/TMQ_Server.so .shobj/TMQ_Server.o .shobj/TMQ_Server.so: TMQ_Server.cpp \ - $(ACE_ROOT)/ace/Signal.h \ - $(ACE_ROOT)/ace/Synch.h \ - $(ACE_ROOT)/ace/ACE.h \ - $(ACE_ROOT)/ace/OS.h \ - $(ACE_ROOT)/ace/inc_user_config.h \ - $(ACE_ROOT)/ace/config.h \ - $(ACE_ROOT)/ace/config-sunos5.5.h \ - $(ACE_ROOT)/ace/config-g++-common.h \ - $(ACE_ROOT)/ace/streams.h \ - $(ACE_ROOT)/ace/Basic_Types.h \ - $(ACE_ROOT)/ace/Basic_Types.i \ - $(ACE_ROOT)/ace/OS.i \ - $(ACE_ROOT)/ace/Trace.h \ - $(ACE_ROOT)/ace/Log_Msg.h \ - $(ACE_ROOT)/ace/Log_Record.h \ - $(ACE_ROOT)/ace/ACE.i \ - $(ACE_ROOT)/ace/Log_Priority.h \ - $(ACE_ROOT)/ace/Log_Record.i \ - $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ - $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ - $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ - $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ - $(ACE_ROOT)/ace/Synch.i \ - $(ACE_ROOT)/ace/Synch_T.h \ - $(ACE_ROOT)/ace/Event_Handler.h \ - $(ACE_ROOT)/ace/Event_Handler.i \ - $(ACE_ROOT)/ace/Synch_T.i \ - $(ACE_ROOT)/ace/Thread.h \ - $(ACE_ROOT)/ace/Thread.i \ - $(ACE_ROOT)/ace/Atomic_Op.i \ - $(ACE_ROOT)/ace/Synch_T.cpp \ - $(ACE_ROOT)/ace/Containers.h \ - $(ACE_ROOT)/ace/Containers.i \ - $(ACE_ROOT)/ace/Containers_T.h \ - $(ACE_ROOT)/ace/Containers_T.i \ - $(ACE_ROOT)/ace/Containers_T.cpp \ - $(ACE_ROOT)/ace/Malloc.h \ - $(ACE_ROOT)/ace/Malloc_Base.h \ - $(ACE_ROOT)/ace/Malloc.i \ - $(ACE_ROOT)/ace/Malloc_T.h \ - $(ACE_ROOT)/ace/Free_List.h \ - $(ACE_ROOT)/ace/Free_List.i \ - $(ACE_ROOT)/ace/Free_List.cpp \ - $(ACE_ROOT)/ace/Malloc_T.i \ - $(ACE_ROOT)/ace/Malloc_T.cpp \ - $(ACE_ROOT)/ace/Memory_Pool.h \ - $(ACE_ROOT)/ace/Mem_Map.h \ - $(ACE_ROOT)/ace/Mem_Map.i \ - $(ACE_ROOT)/ace/Memory_Pool.i \ - $(ACE_ROOT)/ace/Signal.i \ - $(ACE_ROOT)/ace/Object_Manager.h \ - $(ACE_ROOT)/ace/Object_Manager.i \ - $(ACE_ROOT)/ace/Managed_Object.h \ - $(ACE_ROOT)/ace/Managed_Object.i \ - $(ACE_ROOT)/ace/Managed_Object.cpp \ - $(ACE_ROOT)/ace/Typed_SV_Message_Queue.h \ - $(ACE_ROOT)/ace/SV_Message_Queue.h \ - $(ACE_ROOT)/ace/SV_Message.h \ - $(ACE_ROOT)/ace/SV_Message.i \ - $(ACE_ROOT)/ace/SV_Message_Queue.i \ - $(ACE_ROOT)/ace/Typed_SV_Message.h \ - $(ACE_ROOT)/ace/Typed_SV_Message.i \ - $(ACE_ROOT)/ace/Typed_SV_Message.cpp \ - $(ACE_ROOT)/ace/Typed_SV_Message_Queue.i \ - $(ACE_ROOT)/ace/Typed_SV_Message_Queue.cpp \ - test.h -.obj/TMQ_Client.o .obj/TMQ_Client.so .shobj/TMQ_Client.o .shobj/TMQ_Client.so: TMQ_Client.cpp \ - $(ACE_ROOT)/ace/Typed_SV_Message_Queue.h \ - $(ACE_ROOT)/ace/SV_Message_Queue.h \ - $(ACE_ROOT)/ace/ACE.h \ - $(ACE_ROOT)/ace/OS.h \ - $(ACE_ROOT)/ace/inc_user_config.h \ - $(ACE_ROOT)/ace/config.h \ - $(ACE_ROOT)/ace/config-sunos5.5.h \ - $(ACE_ROOT)/ace/config-g++-common.h \ - $(ACE_ROOT)/ace/streams.h \ - $(ACE_ROOT)/ace/Basic_Types.h \ - $(ACE_ROOT)/ace/Basic_Types.i \ - $(ACE_ROOT)/ace/OS.i \ - $(ACE_ROOT)/ace/Trace.h \ - $(ACE_ROOT)/ace/Log_Msg.h \ - $(ACE_ROOT)/ace/Log_Record.h \ - $(ACE_ROOT)/ace/ACE.i \ - $(ACE_ROOT)/ace/Log_Priority.h \ - $(ACE_ROOT)/ace/Log_Record.i \ - $(ACE_ROOT)/ace/SV_Message.h \ - $(ACE_ROOT)/ace/SV_Message.i \ - $(ACE_ROOT)/ace/SV_Message_Queue.i \ - $(ACE_ROOT)/ace/Typed_SV_Message.h \ - $(ACE_ROOT)/ace/Typed_SV_Message.i \ - $(ACE_ROOT)/ace/Typed_SV_Message.cpp \ - $(ACE_ROOT)/ace/Typed_SV_Message_Queue.i \ - $(ACE_ROOT)/ace/Typed_SV_Message_Queue.cpp \ - test.h - -# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/examples/System_V_IPC/SV_Message_Queues/TMQ_Client.cpp b/examples/System_V_IPC/SV_Message_Queues/TMQ_Client.cpp deleted file mode 100644 index f8008f372ce..00000000000 --- a/examples/System_V_IPC/SV_Message_Queues/TMQ_Client.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// $Id$ - -#include "ace/Typed_SV_Message_Queue.h" -#include "ace/streams.h" -#include "test.h" - -ACE_RCSID(SV_Message_Queues, TMQ_Client, "$Id$") - -int -main (int, char *[]) -{ - long pid = long (ACE_OS::getpid ()); - - ACE_Typed_SV_Message_Queue<Message_Data> msgque (key_t (SRV_KEY)); - - Message_Data msg_data (pid, ACE_OS::cuserid (0), "did you get this?"); - - ACE_Typed_SV_Message<Message_Data> send_msg (msg_data, - SRV_ID, - msg_data.length ()), - recv_msg (pid); - - if (msgque.send (send_msg) < 0) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "msgque.send"), 1); - - if (msgque.recv (recv_msg) < 0) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "msgque.recv"), 1); - - Message_Data &recv_msg_data = recv_msg.data (); - - cout << "a message of length " - << recv_msg_data.length () - << " received from server " - << recv_msg_data.pid () - << " (user " - << recv_msg_data.user () << "): " - << recv_msg_data.text () << "\n"; - - return 0; -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Typed_SV_Message_Queue<Message_Data>; -template class ACE_Typed_SV_Message<Message_Data>; -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#pragma instantiate ACE_Typed_SV_Message_Queue<Message_Data> -#pragma instantiate ACE_Typed_SV_Message<Message_Data> -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ - diff --git a/examples/System_V_IPC/SV_Message_Queues/TMQ_Server.cpp b/examples/System_V_IPC/SV_Message_Queues/TMQ_Server.cpp deleted file mode 100644 index 0fa793e2b9f..00000000000 --- a/examples/System_V_IPC/SV_Message_Queues/TMQ_Server.cpp +++ /dev/null @@ -1,67 +0,0 @@ -// $Id$ - -#include "ace/Signal.h" -#include "ace/Typed_SV_Message_Queue.h" - -#include "test.h" -#include "ace/streams.h" - -ACE_RCSID(SV_Message_Queues, TMQ_Server, "$Id$") - -// Must be global for signal Message... -static ACE_Typed_SV_Message_Queue<Message_Data> ace_sv_message_queue - (SRV_KEY, ACE_Typed_SV_Message_Queue<Message_Data>::ACE_CREATE); - -extern "C" void -handler (int) -{ - if (ace_sv_message_queue.remove () < 0) - ACE_ERROR ((LM_ERROR, "%p\n%a", "ace_sv_message_queue.recv", 1)); - ACE_OS::exit (0); -} - -int -main (int, char *[]) -{ - char *username = ACE_OS::cuserid (0); - Message_Data msg_data ((int) ACE_OS::getpid (), username, "I received your message."); - ACE_Typed_SV_Message<Message_Data> send_msg (msg_data, 0, msg_data.length ()); - ACE_Typed_SV_Message<Message_Data> recv_msg (SRV_ID); - - // Register a signal handler. - ACE_Sig_Action sa ((ACE_SignalHandler) handler, SIGINT); - ACE_UNUSED_ARG (sa); - - for (;;) - { - if (ace_sv_message_queue.recv (recv_msg) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "ace_sv_message_queue.recv"), 1); - - Message_Data &recv_msg_data = recv_msg.data (); - - cout << "a msg of length " - << recv_msg_data.length () - << " sent from client " - << recv_msg_data.pid () - << " (user " - << recv_msg_data.user () << "): " - << recv_msg_data.text () << "\n"; - cout.flush (); - - send_msg.type (recv_msg_data.pid ()); - - if (ace_sv_message_queue.send (send_msg) < 0) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "ace_sv_message_queue.send"), 1); - } - - /* NOTREACHED */ - return 0; -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Typed_SV_Message_Queue<Message_Data>; -template class ACE_Typed_SV_Message<Message_Data>; -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#pragma instantiate ACE_Typed_SV_Message_Queue<Message_Data> -#pragma instantiate ACE_Typed_SV_Message<Message_Data> -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/examples/System_V_IPC/SV_Message_Queues/test.h b/examples/System_V_IPC/SV_Message_Queues/test.h deleted file mode 100644 index e88e567fa40..00000000000 --- a/examples/System_V_IPC/SV_Message_Queues/test.h +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -#include "ace/OS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/SV_Message.h" - -#define MSGSZ 128 -#define SRV_KEY ACE_DEFAULT_SHM_KEY -#define SRV_ID 1 - -class Message_Data -{ -public: - Message_Data (long p = -1, const char user[] = "", char text[] = ""): pid_ (p) - { - ::strncpy (this->username_, user, 9); - ::strncpy (this->mtext_, text, MSGSZ); - } - - long pid (void) { return this->pid_; } - void pid (long p) { this->pid_ = p; } - char *user (void) { return this->username_; } - void user (char user[]) { ::strncpy (this->username_, user, 9); } - char *text (void) { return this->mtext_; } - void text (char text[]) { ::strncpy (this->mtext_, text, MSGSZ); } - int length (void) { return sizeof *this - sizeof this->mtext_ + ::strlen (this->mtext_) + 1; } - -protected: - long pid_; - char username_[9]; - char mtext_[MSGSZ]; -}; - -class Message_Block : public ACE_SV_Message, public Message_Data -{ - // = TITLE - // Stores message content. - // = DESCRIPTION - // This may not be 100 percent portable on all C++ compilers since - // it relies on inheritance to be "concatenation." - // -public: - Message_Block (long t, - long p = 0, - char login[] = "", - char message[] = "") - : ACE_SV_Message (t), - Message_Data (p, login, message) - {} -}; - diff --git a/examples/System_V_IPC/SV_Semaphores/Makefile b/examples/System_V_IPC/SV_Semaphores/Makefile deleted file mode 100644 index d6820ff392f..00000000000 --- a/examples/System_V_IPC/SV_Semaphores/Makefile +++ /dev/null @@ -1,157 +0,0 @@ -#---------------------------------------------------------------------------- -# $Id$ -# -# Makefile for Semaphore wrapper class examples -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -BIN = Semaphores_1 \ - Semaphores_2 - -LSRC = $(addsuffix .cpp,$(BIN)) - -VLDLIBS = $(LDLIBS:%=%$(VAR)) - -BUILD = $(VBIN) - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU -include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU -include $(ACE_ROOT)/include/makeinclude/rules.local.GNU - -#---------------------------------------------------------------------------- -# Local targets -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Dependencies -#---------------------------------------------------------------------------- - -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. - -.obj/Semaphores_1.o .obj/Semaphores_1.so .shobj/Semaphores_1.o .shobj/Semaphores_1.so: Semaphores_1.cpp \ - $(ACE_ROOT)/ace/SV_Shared_Memory.h \ - $(ACE_ROOT)/ace/ACE.h \ - $(ACE_ROOT)/ace/OS.h \ - $(ACE_ROOT)/ace/inc_user_config.h \ - $(ACE_ROOT)/ace/config.h \ - $(ACE_ROOT)/ace/config-sunos5.5.h \ - $(ACE_ROOT)/ace/config-g++-common.h \ - $(ACE_ROOT)/ace/streams.h \ - $(ACE_ROOT)/ace/Basic_Types.h \ - $(ACE_ROOT)/ace/Basic_Types.i \ - $(ACE_ROOT)/ace/OS.i \ - $(ACE_ROOT)/ace/Trace.h \ - $(ACE_ROOT)/ace/Log_Msg.h \ - $(ACE_ROOT)/ace/Log_Record.h \ - $(ACE_ROOT)/ace/ACE.i \ - $(ACE_ROOT)/ace/Log_Priority.h \ - $(ACE_ROOT)/ace/Log_Record.i \ - $(ACE_ROOT)/ace/SV_Shared_Memory.i \ - $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ - $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ - $(ACE_ROOT)/ace/Malloc.h \ - $(ACE_ROOT)/ace/Malloc_Base.h \ - $(ACE_ROOT)/ace/Malloc.i \ - $(ACE_ROOT)/ace/Malloc_T.h \ - $(ACE_ROOT)/ace/Synch.h \ - $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ - $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ - $(ACE_ROOT)/ace/Synch.i \ - $(ACE_ROOT)/ace/Synch_T.h \ - $(ACE_ROOT)/ace/Event_Handler.h \ - $(ACE_ROOT)/ace/Event_Handler.i \ - $(ACE_ROOT)/ace/Synch_T.i \ - $(ACE_ROOT)/ace/Thread.h \ - $(ACE_ROOT)/ace/Thread.i \ - $(ACE_ROOT)/ace/Atomic_Op.i \ - $(ACE_ROOT)/ace/Synch_T.cpp \ - $(ACE_ROOT)/ace/Free_List.h \ - $(ACE_ROOT)/ace/Free_List.i \ - $(ACE_ROOT)/ace/Free_List.cpp \ - $(ACE_ROOT)/ace/Malloc_T.i \ - $(ACE_ROOT)/ace/Malloc_T.cpp \ - $(ACE_ROOT)/ace/Memory_Pool.h \ - $(ACE_ROOT)/ace/Signal.h \ - $(ACE_ROOT)/ace/Containers.h \ - $(ACE_ROOT)/ace/Containers.i \ - $(ACE_ROOT)/ace/Containers_T.h \ - $(ACE_ROOT)/ace/Containers_T.i \ - $(ACE_ROOT)/ace/Containers_T.cpp \ - $(ACE_ROOT)/ace/Signal.i \ - $(ACE_ROOT)/ace/Object_Manager.h \ - $(ACE_ROOT)/ace/Object_Manager.i \ - $(ACE_ROOT)/ace/Managed_Object.h \ - $(ACE_ROOT)/ace/Managed_Object.i \ - $(ACE_ROOT)/ace/Managed_Object.cpp \ - $(ACE_ROOT)/ace/Mem_Map.h \ - $(ACE_ROOT)/ace/Mem_Map.i \ - $(ACE_ROOT)/ace/Memory_Pool.i -.obj/Semaphores_2.o .obj/Semaphores_2.so .shobj/Semaphores_2.o .shobj/Semaphores_2.so: Semaphores_2.cpp \ - $(ACE_ROOT)/ace/Malloc.h \ - $(ACE_ROOT)/ace/ACE.h \ - $(ACE_ROOT)/ace/OS.h \ - $(ACE_ROOT)/ace/inc_user_config.h \ - $(ACE_ROOT)/ace/config.h \ - $(ACE_ROOT)/ace/config-sunos5.5.h \ - $(ACE_ROOT)/ace/config-g++-common.h \ - $(ACE_ROOT)/ace/streams.h \ - $(ACE_ROOT)/ace/Basic_Types.h \ - $(ACE_ROOT)/ace/Basic_Types.i \ - $(ACE_ROOT)/ace/OS.i \ - $(ACE_ROOT)/ace/Trace.h \ - $(ACE_ROOT)/ace/Log_Msg.h \ - $(ACE_ROOT)/ace/Log_Record.h \ - $(ACE_ROOT)/ace/ACE.i \ - $(ACE_ROOT)/ace/Log_Priority.h \ - $(ACE_ROOT)/ace/Log_Record.i \ - $(ACE_ROOT)/ace/Malloc_Base.h \ - $(ACE_ROOT)/ace/Malloc.i \ - $(ACE_ROOT)/ace/Malloc_T.h \ - $(ACE_ROOT)/ace/Synch.h \ - $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ - $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ - $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ - $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ - $(ACE_ROOT)/ace/Synch.i \ - $(ACE_ROOT)/ace/Synch_T.h \ - $(ACE_ROOT)/ace/Event_Handler.h \ - $(ACE_ROOT)/ace/Event_Handler.i \ - $(ACE_ROOT)/ace/Synch_T.i \ - $(ACE_ROOT)/ace/Thread.h \ - $(ACE_ROOT)/ace/Thread.i \ - $(ACE_ROOT)/ace/Atomic_Op.i \ - $(ACE_ROOT)/ace/Synch_T.cpp \ - $(ACE_ROOT)/ace/Free_List.h \ - $(ACE_ROOT)/ace/Free_List.i \ - $(ACE_ROOT)/ace/Free_List.cpp \ - $(ACE_ROOT)/ace/Malloc_T.i \ - $(ACE_ROOT)/ace/Malloc_T.cpp \ - $(ACE_ROOT)/ace/Memory_Pool.h \ - $(ACE_ROOT)/ace/Signal.h \ - $(ACE_ROOT)/ace/Containers.h \ - $(ACE_ROOT)/ace/Containers.i \ - $(ACE_ROOT)/ace/Containers_T.h \ - $(ACE_ROOT)/ace/Containers_T.i \ - $(ACE_ROOT)/ace/Containers_T.cpp \ - $(ACE_ROOT)/ace/Signal.i \ - $(ACE_ROOT)/ace/Object_Manager.h \ - $(ACE_ROOT)/ace/Object_Manager.i \ - $(ACE_ROOT)/ace/Managed_Object.h \ - $(ACE_ROOT)/ace/Managed_Object.i \ - $(ACE_ROOT)/ace/Managed_Object.cpp \ - $(ACE_ROOT)/ace/Mem_Map.h \ - $(ACE_ROOT)/ace/Mem_Map.i \ - $(ACE_ROOT)/ace/Memory_Pool.i - -# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/examples/System_V_IPC/SV_Semaphores/Semaphore_Client.cpp b/examples/System_V_IPC/SV_Semaphores/Semaphore_Client.cpp deleted file mode 100644 index b7fe34725e7..00000000000 --- a/examples/System_V_IPC/SV_Semaphores/Semaphore_Client.cpp +++ /dev/null @@ -1,31 +0,0 @@ -#include "Semaphore_Test.h" -// $Id$ - -#include "ace/SV_Shared_Memory.h" -#include "ace/SV_Semaphore_Simple.h" - -int -main (void) -{ - ACE_SV_Shared_Memory shm_client (SHM_KEY, - SHMSZ, - ACE_SV_Shared_Memory::ACE_OPEN); - ACE_SV_Semaphore_Simple sem (SEM_KEY_1, - ACE_SV_Semaphore_Simple::ACE_OPEN, 0, 2); - - char *s = (char *) shm_client.get_segment_ptr (); - - if (sem.acquire (0) < 0) - ACE_OS::perror ("client sem.acquire"), ACE_OS::exit (1); - - while (*s != '\0') - putchar (*s++); - - putchar ('\n'); - - if (sem.release (1) < 0) - ACE_OS::perror ("client sem.release"), ACE_OS::exit (1); - - return 0; -} - diff --git a/examples/System_V_IPC/SV_Semaphores/Semaphore_Server.cpp b/examples/System_V_IPC/SV_Semaphores/Semaphore_Server.cpp deleted file mode 100644 index f9931705c26..00000000000 --- a/examples/System_V_IPC/SV_Semaphores/Semaphore_Server.cpp +++ /dev/null @@ -1,42 +0,0 @@ -// $Id$ - - -#include "ace/SV_Shared_Memory.h" -#include "ace/SV_Semaphore_Simple.h" -#include "ace/Signal.h" -#include "Semaphore_Test.h" - -static ACE_SV_Shared_Memory shm_server (SHM_KEY, SHMSZ, ACE_SV_Shared_Memory::ACE_CREATE); -static ACE_SV_Semaphore_Simple sem (SEM_KEY_1, ACE_SV_Semaphore_Simple::ACE_CREATE, 0, 2); - -extern "C" void -cleanup (int) -{ - if (shm_server.remove () < 0 || sem.remove () < 0) - ACE_ERROR ((LM_ERROR, "%p\n%a", "remove", 1)); - ACE_OS::exit (0); -} - -int -main (void) -{ - // Register a signal handler. - ACE_Sig_Action sa ((ACE_SignalHandler) cleanup, SIGINT); - - char *s = (char *) shm_server.get_segment_ptr (); - - for (char c = 'a'; c <= 'z'; c++) - *s++ = c; - - *s = '\0'; - - if (sem.release (0) < 0) - ESD ("server sem.release", done); - - if (sem.acquire (1) < 0) - ESD ("server sem.acquire", done); - -done: - cleanup (); - return 0; -} diff --git a/examples/System_V_IPC/SV_Semaphores/Semaphore_Test.h b/examples/System_V_IPC/SV_Semaphores/Semaphore_Test.h deleted file mode 100644 index 72aab815ff8..00000000000 --- a/examples/System_V_IPC/SV_Semaphores/Semaphore_Test.h +++ /dev/null @@ -1,11 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -#include "ace/Log_Msg.h" - -#define SHMSZ 27 -#define SEM_KEY_1 2345 -#define SEM_KEY_2 4321 -#define SHM_KEY 5678 - -#define ESD(MSG,LABEL) do { ACE_ERROR ((LM_ERROR, MSG)); goto LABEL; } while (0) diff --git a/examples/System_V_IPC/SV_Semaphores/Semaphores.cpp b/examples/System_V_IPC/SV_Semaphores/Semaphores.cpp deleted file mode 100644 index b98c664883b..00000000000 --- a/examples/System_V_IPC/SV_Semaphores/Semaphores.cpp +++ /dev/null @@ -1,94 +0,0 @@ -// Illustrates the use of the Semaphore_Complex class. Note that it -// $Id$ - -// doesn't matter whether the parent or the child creates the -// semaphore since Semaphore_Complex will correctly serialize the -// intialization of the mutex and synch objects. -#include "ace/Malloc.h" -#include "ace/SV_Semaphore_Complex.h" -#include "Semaphore_Test.h" - -ACE_Malloc<ACE_Shared_Memory_Pool, ACE_SV_Semaphore_Simple> allocator; -ACE_SV_Semaphore_Complex *mutex = 0; -ACE_SV_Semaphore_Complex *synch = 0; - -/* Pointer to memory shared by both the client and server. */ -static char *shm; - -static int -do_parent (void) -{ - char *s = shm; - - mutex = new ACE_SV_Semaphore_Complex (SEM_KEY_1, ACE_SV_Semaphore_Complex::ACE_CREATE, 0); - synch = new ACE_SV_Semaphore_Complex (SEM_KEY_2, ACE_SV_Semaphore_Complex::ACE_CREATE, 0); - - for (char c = 'a'; c <= 'z'; c++) - *s++ = c; - - *s = '\0'; - - if (mutex->release () == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p", "server mutex.release"), 1); - - if (synch->acquire () == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p", "server synch.acquire"), 1); - return 0; -} - -static int -do_child (void) -{ - mutex = new ACE_SV_Semaphore_Complex (SEM_KEY_1, ACE_SV_Semaphore_Complex::ACE_CREATE, 0); - synch = new ACE_SV_Semaphore_Complex (SEM_KEY_2, ACE_SV_Semaphore_Complex::ACE_CREATE, 0); - - while (mutex->tryacquire () == -1) - if (errno == EAGAIN) - ACE_DEBUG ((LM_DEBUG, "spinning in client!\n")); - else - ACE_ERROR_RETURN ((LM_ERROR, "client mutex.tryacquire"), 1); - - for (char *s = (char *) shm; *s != '\0'; s++) - putchar (*s); - - putchar ('\n'); - - if (synch->release () == -1) - ACE_ERROR_RETURN ((LM_ERROR, "client synch.release"), 1); - return 0; -} - -int -main (void) -{ - shm = (char *) allocator.malloc (27); - - switch (ACE_OS::fork ()) - { - case -1: - ACE_ERROR_RETURN ((LM_ERROR, "fork failed\n"), -1); - /* NOTREACHED */ - case 0: - return do_child (); - default: - { - int result = do_parent (); - - if (wait (0) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "wait"), -1); - - allocator.remove (); - - if (mutex->remove () == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "mutex.remove"), -1); - else if (synch->remove () == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "synch.remove"), -1); - return result; - } - } -} - -#if defined (ACE_TEMPLATES_REQUIRE_SPECIALIZATION) -template class ACE_Malloc<ACE_Shared_Memory_Pool, ACE_SV_Semaphore_Simple>; -#endif /* ACE_TEMPLATES_REQUIRE_SPECIALIZATION */ - diff --git a/examples/System_V_IPC/SV_Semaphores/Semaphores_1.cpp b/examples/System_V_IPC/SV_Semaphores/Semaphores_1.cpp deleted file mode 100644 index a6127daabaa..00000000000 --- a/examples/System_V_IPC/SV_Semaphores/Semaphores_1.cpp +++ /dev/null @@ -1,99 +0,0 @@ -// $Id$ - -#include "ace/SV_Shared_Memory.h" -#include "ace/SV_Semaphore_Simple.h" -#include "ace/Malloc.h" - -ACE_RCSID(SV_Semaphores, Semaphores_1, "$Id$") - -#if defined (ACE_HAS_SYSV_IPC) - -// Shared memory allocator (note that this chews up the -// ACE_DEFAULT_SEM_KEY). -static ACE_Malloc<ACE_SHARED_MEMORY_POOL, ACE_SV_Semaphore_Simple> alloc; - -const int SEM_KEY = ACE_DEFAULT_SEM_KEY + 1; - -static int -parent (char *shm) -{ - char *s = shm; - - ACE_SV_Semaphore_Complex sem (SEM_KEY, ACE_SV_Semaphore_Complex::ACE_CREATE, 0, 2); - - for (char c = 'a'; c <= 'z'; c++) - *s++ = c; - - *s = '\0'; - - if (sem.release (0) == -1) - ACE_ERROR ((LM_ERROR, "%p", "parent sem.release(0)")); - else if (sem.acquire (1) == -1) - ACE_ERROR ((LM_ERROR, "%p", "parent sem.acquire(1)")); - - if (alloc.remove () == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "alloc.remove")); - if (sem.remove () == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "sem.remove")); - return 0; -} - -static int -child (char *shm) -{ - ACE_SV_Semaphore_Complex sem (SEM_KEY, ACE_SV_Semaphore_Complex::ACE_CREATE, 0, 2); - - while (sem.tryacquire (0) == -1) - if (errno == EAGAIN) - ACE_DEBUG ((LM_DEBUG, "spinning in client!\n")); - else - ACE_ERROR_RETURN ((LM_ERROR, "client mutex.tryacquire(0)"), 1); - - for (char *s = (char *) shm; *s != '\0'; s++) - ACE_DEBUG ((LM_DEBUG, "%c", *s)); - - ACE_DEBUG ((LM_DEBUG, "\n")); - - if (sem.release (1) < 0) - ACE_ERROR ((LM_ERROR, "client sem.release(1)")); - return 0; -} - -int -main (int, char *[]) -{ - char *shm = (char *) alloc.malloc (27); - - switch (ACE_OS::fork ()) - { - case -1: - ACE_ERROR_RETURN ((LM_ERROR, "fork failed\n"), -1); - /* NOTREACHED */ - case 0: - // Child. - return child (shm); - default: - return parent (shm); - } -} -#else -int main (int, char *[]) -{ - ACE_ERROR ((LM_ERROR, - "SYSV IPC is not supported on this platform\n")); - return 0; -} -#endif /* ACE_HAS_SYSV_IPC */ - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Guard<ACE_SV_Semaphore_Simple>; -template class ACE_Malloc<ACE_SHARED_MEMORY_POOL, ACE_SV_Semaphore_Simple>; -template class ACE_Read_Guard<ACE_SV_Semaphore_Simple>; -template class ACE_Write_Guard<ACE_SV_Semaphore_Simple>; -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#pragma instantiate ACE_Guard<ACE_SV_Semaphore_Simple> -#pragma instantiate ACE_Malloc<ACE_SHARED_MEMORY_POOL, ACE_SV_Semaphore_Simple> -#pragma instantiate ACE_Read_Guard<ACE_SV_Semaphore_Simple> -#pragma instantiate ACE_Write_Guard<ACE_SV_Semaphore_Simple> -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ - diff --git a/examples/System_V_IPC/SV_Semaphores/Semaphores_2.cpp b/examples/System_V_IPC/SV_Semaphores/Semaphores_2.cpp deleted file mode 100644 index 9afa1ff8dbf..00000000000 --- a/examples/System_V_IPC/SV_Semaphores/Semaphores_2.cpp +++ /dev/null @@ -1,120 +0,0 @@ -// $Id$ - -// Illustrates the use of the ACE_SV_Semaphore_Complex class and the -// ACE_Malloc class using the ACE_Shared_Memory_Pool (which uses -// System V shared memory). Note that it doesn't matter whether the -// parent or the child creates the semaphore since Semaphore_Complex -// will correctly serialize the intialization of the mutex and synch -// objects. - -#include "ace/Malloc.h" -#include "ace/SV_Semaphore_Complex.h" - -ACE_RCSID(SV_Semaphores, Semaphores_2, "$Id$") - -#if defined (ACE_HAS_SYSV_IPC) - -// Shared memory allocator (note that this chews up the -// ACE_DEFAULT_SEM_KEY). -static ACE_Malloc<ACE_SHARED_MEMORY_POOL, ACE_SV_Semaphore_Simple> my_alloc; - -const int SEM_KEY_1 = ACE_DEFAULT_SEM_KEY + 1; -const int SEM_KEY_2 = ACE_DEFAULT_SEM_KEY + 2; - -static int -parent (char *shm) -{ - char *s = shm; - - // Both semaphores are initially created with a count of 0, i.e., - // they are "locked." - ACE_SV_Semaphore_Complex mutex (SEM_KEY_1, ACE_SV_Semaphore_Complex::ACE_CREATE, 0); - ACE_SV_Semaphore_Complex synch (SEM_KEY_2, ACE_SV_Semaphore_Complex::ACE_CREATE, 0); - - // This is a critical section, which is protected by the mutex - // semaphore. - for (char c = 'a'; c <= 'z'; c++) - *s++ = c; - - *s = '\0'; - - if (mutex.release () == -1) - ACE_ERROR ((LM_ERROR, "%p", "parent mutex.release")); - else if (synch.acquire () == -1) - ACE_ERROR ((LM_ERROR, "%p", "parent synch.acquire")); - - if (my_alloc.remove () == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "my_alloc.remove")); - if (mutex.remove () == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "mutex.remove")); - if (synch.remove () == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "synch.remove")); - return 0; -} - -static int -child (char *shm) -{ - // Both semaphores are initially created with a count of 0, i.e., - // they are "locked." - ACE_SV_Semaphore_Complex mutex (SEM_KEY_1, ACE_SV_Semaphore_Complex::ACE_CREATE, 0); - ACE_SV_Semaphore_Complex synch (SEM_KEY_2, ACE_SV_Semaphore_Complex::ACE_CREATE, 0); - - // Perform "busy waiting" here until we acquire the semaphore. This - // isn't really a good design -- it's just to illustrate that you - // can do non-blocking acquire() calls with the ACE System V - // semaphore wrappers. - while (mutex.tryacquire () == -1) - if (errno == EAGAIN) - ACE_DEBUG ((LM_DEBUG, "spinning in child!\n")); - else - ACE_ERROR_RETURN ((LM_ERROR, "child mutex.tryacquire"), 1); - - for (char *s = (char *) shm; *s != '\0'; s++) - ACE_DEBUG ((LM_DEBUG, "%c", *s)); - - ACE_DEBUG ((LM_DEBUG, "\n")); - - if (synch.release () == -1) - ACE_ERROR_RETURN ((LM_ERROR, "child synch.release"), 1); - return 0; -} - -int -main (int, char *[]) -{ - char *shm = (char *) my_alloc.malloc (27); - - switch (ACE_OS::fork ()) - { - case -1: - ACE_ERROR_RETURN ((LM_ERROR, "fork failed\n"), -1); - /* NOTREACHED */ - case 0: - // Child. - return child (shm); - default: - return parent (shm); - } -} -#else -int main (int, char *[]) -{ - ACE_ERROR ((LM_ERROR, - "SYSV IPC is not supported on this platform\n")); - return 0; -} -#endif /* ACE_HAS_SYSV_IPC */ - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Guard<ACE_SV_Semaphore_Simple>; -template class ACE_Malloc<ACE_SHARED_MEMORY_POOL, ACE_SV_Semaphore_Simple>; -template class ACE_Read_Guard<ACE_SV_Semaphore_Simple>; -template class ACE_Write_Guard<ACE_SV_Semaphore_Simple>; -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#pragma instantiate ACE_Guard<ACE_SV_Semaphore_Simple> -#pragma instantiate ACE_Malloc<ACE_SHARED_MEMORY_POOL, ACE_SV_Semaphore_Simple> -#pragma instantiate ACE_Read_Guard<ACE_SV_Semaphore_Simple> -#pragma instantiate ACE_Write_Guard<ACE_SV_Semaphore_Simple> -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ - diff --git a/examples/System_V_IPC/SV_Shared_Memory/Makefile b/examples/System_V_IPC/SV_Shared_Memory/Makefile deleted file mode 100644 index 842892b2ecb..00000000000 --- a/examples/System_V_IPC/SV_Shared_Memory/Makefile +++ /dev/null @@ -1,66 +0,0 @@ -#---------------------------------------------------------------------------- -# $Id$ -# -# Makefile for tests of the SV_Shared_Memory wrapper -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -BIN = SV_Shared_Memory_Test - -LSRC = $(addsuffix .cpp,$(BIN)) - -LDLIBS = - -VLDLIBS = $(LDLIBS:%=%$(VAR)) - -BUILD = $(VBIN) - -INSTALL = - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU -include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU -include $(ACE_ROOT)/include/makeinclude/rules.local.GNU - -#---------------------------------------------------------------------------- -# Local targets -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Dependencies -#---------------------------------------------------------------------------- - -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. - -.obj/SV_Shared_Memory_Test.o .obj/SV_Shared_Memory_Test.so .shobj/SV_Shared_Memory_Test.o .shobj/SV_Shared_Memory_Test.so: SV_Shared_Memory_Test.cpp \ - $(ACE_ROOT)/ace/SV_Shared_Memory.h \ - $(ACE_ROOT)/ace/ACE.h \ - $(ACE_ROOT)/ace/OS.h \ - $(ACE_ROOT)/ace/inc_user_config.h \ - $(ACE_ROOT)/ace/config.h \ - $(ACE_ROOT)/ace/config-sunos5.5.h \ - $(ACE_ROOT)/ace/config-g++-common.h \ - $(ACE_ROOT)/ace/streams.h \ - $(ACE_ROOT)/ace/Basic_Types.h \ - $(ACE_ROOT)/ace/Basic_Types.i \ - $(ACE_ROOT)/ace/OS.i \ - $(ACE_ROOT)/ace/Trace.h \ - $(ACE_ROOT)/ace/Log_Msg.h \ - $(ACE_ROOT)/ace/Log_Record.h \ - $(ACE_ROOT)/ace/ACE.i \ - $(ACE_ROOT)/ace/Log_Priority.h \ - $(ACE_ROOT)/ace/Log_Record.i \ - $(ACE_ROOT)/ace/SV_Shared_Memory.i \ - SV_Shared_Memory_Test.h - -# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/examples/System_V_IPC/SV_Shared_Memory/SV_Shared_Memory_Test.cpp b/examples/System_V_IPC/SV_Shared_Memory/SV_Shared_Memory_Test.cpp deleted file mode 100644 index e0aae71f3fc..00000000000 --- a/examples/System_V_IPC/SV_Shared_Memory/SV_Shared_Memory_Test.cpp +++ /dev/null @@ -1,62 +0,0 @@ -// $Id$ - -#include "ace/SV_Shared_Memory.h" -#include "SV_Shared_Memory_Test.h" - -ACE_RCSID(SV_Shared_Memory, SV_Shared_Memory_Test, "$Id$") - -static void -client (void) -{ - ACE_SV_Shared_Memory shm_client; - - if (shm_client.open_and_attach (SHM_KEY, SHMSZ) == -1) - ACE_OS::perror ("open"), ACE_OS::exit (1); - - for (char *s = (char *) shm_client.get_segment_ptr (); *s != '\0'; s++) - putchar (*s); - - putchar ('\n'); - *(char *) shm_client.get_segment_ptr () = '*'; - ACE_OS::exit (0); -} - -static void -server (void) -{ - ACE_SV_Shared_Memory shm_server; - - if (shm_server.open_and_attach (SHM_KEY, SHMSZ, ACE_SV_Shared_Memory::ACE_CREATE) == -1) - ACE_OS::perror ("open"), ACE_OS::exit (1); - - char *s = (char *) shm_server.get_segment_ptr (); - - for (char c = 'a'; c <= 'z'; c++) - *s++ = c; - - *s = '\0'; - - for (s = (char *) shm_server.get_segment_ptr (); *s != '*'; ) - ACE_OS::sleep (1); - - if (shm_server.remove () < 0) - ACE_OS::perror ("remove"), ACE_OS::exit (1); - ACE_OS::exit (0); -} - -int -main (int, char *argv[]) -{ - switch (ACE_OS::fork ()) - { - case -1: - ACE_OS::perror (argv[0]), ACE_OS::exit (1); - case 0: - ACE_OS::sleep (1); - client (); - default: - server (); - } - return 0; -} - diff --git a/examples/System_V_IPC/SV_Shared_Memory/SV_Shared_Memory_Test.h b/examples/System_V_IPC/SV_Shared_Memory/SV_Shared_Memory_Test.h deleted file mode 100644 index 4e8cd9b9d13..00000000000 --- a/examples/System_V_IPC/SV_Shared_Memory/SV_Shared_Memory_Test.h +++ /dev/null @@ -1,12 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -#include "ace/OS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#define SHMSZ 27 -#define SEM_KEY 1234 -#define SHM_KEY 5678 |