diff options
author | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-09-29 16:26:53 +0000 |
---|---|---|
committer | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-09-29 16:26:53 +0000 |
commit | fe9d3c146bf4cffc29607cf56d78cd917331e655 (patch) | |
tree | f9e9684abcda93d4263775c8bc141ceec6f094d2 | |
parent | dc2da40a95be71622c1b01fbb89c6ac28ab7446a (diff) | |
download | ATCD-fe9d3c146bf4cffc29607cf56d78cd917331e655.tar.gz |
*** empty log message ***
-rw-r--r-- | apps/JAWS/server/HTTP_Server_T.cpp | 15 | ||||
-rw-r--r-- | apps/JAWS/server/HTTP_Server_T.h | 3 | ||||
-rw-r--r-- | examples/IPC_SAP/SOCK_SAP/C-inserver.cpp | 6 | ||||
-rw-r--r-- | examples/Logger/simple-server/Logging_Acceptor.cpp | 19 | ||||
-rw-r--r-- | examples/Reactor/ReactorEx/test_network_events.cpp | 21 | ||||
-rw-r--r-- | examples/Reactor/WFMO_Reactor/test_network_events.cpp | 21 | ||||
-rw-r--r-- | examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.i | 19 | ||||
-rw-r--r-- | netsvcs/servers/servers.mak | 87 | ||||
-rw-r--r-- | netsvcs/servers/servers.mdp | bin | 49664 -> 52736 bytes |
9 files changed, 171 insertions, 20 deletions
diff --git a/apps/JAWS/server/HTTP_Server_T.cpp b/apps/JAWS/server/HTTP_Server_T.cpp index ee219d24863..69c428bc699 100644 --- a/apps/JAWS/server/HTTP_Server_T.cpp +++ b/apps/JAWS/server/HTTP_Server_T.cpp @@ -4,14 +4,19 @@ #define HTTP_SERVER_T_I template <class ACE_LOCK> int -LOCK_SOCK_Acceptor<ACE_LOCK>::accept (ACE_SOCK_Stream &ns, - ACE_Addr *ra, - ACE_Time_Value *to, - int r) const +LOCK_SOCK_Acceptor<ACE_LOCK>::accept (ACE_SOCK_Stream &stream, + ACE_Addr *remote_address, + ACE_Time_Value *timeout, + int restart, + int reset_new_handle) const { ACE_Guard<ACE_LOCK> m ((ACE_LOCK &) this->lock_); - return ACE_SOCK_Acceptor::accept (ns, ra, to, r); + return ACE_SOCK_Acceptor::accept (stream, + remote_adrress, + timeout, + restart, + reset_new_handle); } #endif /* HTTP_SERVER_T_I */ diff --git a/apps/JAWS/server/HTTP_Server_T.h b/apps/JAWS/server/HTTP_Server_T.h index d3f6aa9ad10..36a6acb35d6 100644 --- a/apps/JAWS/server/HTTP_Server_T.h +++ b/apps/JAWS/server/HTTP_Server_T.h @@ -29,7 +29,8 @@ public: int accept (ACE_SOCK_Stream &new_stream, ACE_Addr *remote_addr = 0, ACE_Time_Value *timeout = 0, - int restart = 1) const; + int restart = 1, + int reset_new_handle = 0) const; private: LOCK lock_; diff --git a/examples/IPC_SAP/SOCK_SAP/C-inserver.cpp b/examples/IPC_SAP/SOCK_SAP/C-inserver.cpp index e2a0c0cca94..1bbcb64d4d8 100644 --- a/examples/IPC_SAP/SOCK_SAP/C-inserver.cpp +++ b/examples/IPC_SAP/SOCK_SAP/C-inserver.cpp @@ -26,7 +26,7 @@ int main (int argc, char *argv[]) /* Associate address with endpoint */ if (ACE_OS::bind (s_handle, (struct sockaddr *) &saddr, - sizeof saddr) == -1) + sizeof saddr) == -1) ACE_OS::perror ("bind"), ACE_OS::exit (1); /* Make endpoint listen for service requests */ @@ -46,7 +46,7 @@ int main (int argc, char *argv[]) /* Create a new endpoint of communication */ do n_handle = ACE_OS::accept (s_handle, (struct sockaddr *) - &cli_addr, &cli_addr_len); + &cli_addr, &cli_addr_len); while (n_handle == ACE_INVALID_HANDLE && errno == EINTR); if (n_handle == ACE_INVALID_HANDLE) @@ -57,7 +57,7 @@ int main (int argc, char *argv[]) int addr_len = sizeof cli_addr.sin_addr.s_addr; hp = ACE_OS::gethostbyaddr ((char *) &cli_addr.sin_addr, - addr_len, AF_INET); + addr_len, AF_INET); if (hp != 0) ACE_OS::printf ("client %s\n", hp->h_name), ACE_OS::fflush (stdout); diff --git a/examples/Logger/simple-server/Logging_Acceptor.cpp b/examples/Logger/simple-server/Logging_Acceptor.cpp index c0e5a061bb7..eec370f15f8 100644 --- a/examples/Logger/simple-server/Logging_Acceptor.cpp +++ b/examples/Logger/simple-server/Logging_Acceptor.cpp @@ -3,6 +3,7 @@ #include "Logging_Acceptor.h" #include "Logging_Handler.h" #include "Reactor_Singleton.h" +#include "ace/WFMO_Reactor.h" // Initialize peer_acceptor object. @@ -56,7 +57,23 @@ Logging_Acceptor::handle_input (ACE_HANDLE) // Accept the connection from a client client daemon. - if (this->peer_acceptor_.accept (svc_handler->peer ()) == -1 + int reset_new_handle = 0; +#if defined (ACE_WIN32) + // Try to find out if the implementation of the reactor that we are + // using is the WFMO_Reactor. If so we need to reset the event + // association for the newly created handle. This is because the + // newly created handle will inherit the properties of the listen + // handle, including its event associations. + if (dynamic_cast <ACE_WFMO_Reactor *> (this->reactor ()->implementation ())) + reset_new_handle = 1; +#endif /* ACE_WIN32 */ + + if (this->peer_acceptor_.accept (svc_handler->peer (), // stream + 0, // remote address + 0, // timeout + 1, // restart + reset_new_handle // reset new handler + ) == -1 || svc_handler->open () == -1) { svc_handler->close (); diff --git a/examples/Reactor/ReactorEx/test_network_events.cpp b/examples/Reactor/ReactorEx/test_network_events.cpp index a954f626e5e..3dfce3d2102 100644 --- a/examples/Reactor/ReactorEx/test_network_events.cpp +++ b/examples/Reactor/ReactorEx/test_network_events.cpp @@ -32,6 +32,7 @@ // ============================================================================ #include "ace/Reactor.h" +#include "ace/WFMO_Reactor.h" #include "ace/INET_Addr.h" #include "ace/SOCK_Stream.h" #include "ace/SOCK_Acceptor.h" @@ -149,8 +150,24 @@ Network_Listener::handle_input (ACE_HANDLE handle) ACE_INET_Addr remote_address; ACE_SOCK_Stream stream; - ACE_ASSERT (this->acceptor_.accept (stream, &remote_address) == 0); - + int reset_new_handle = 0; +#if defined (ACE_WIN32) + // Try to find out if the implementation of the reactor that we are + // using is the WFMO_Reactor. If so we need to reset the event + // association for the newly created handle. This is because the + // newly created handle will inherit the properties of the listen + // handle, including its event associations. + if (dynamic_cast <ACE_WFMO_Reactor *> (this->reactor ()->implementation ())) + reset_new_handle = 1; +#endif /* ACE_WIN32 */ + + ACE_ASSERT (this->acceptor_.accept (stream, // stream + &remote_address, // remote address + 0, // timeout + 1, // restart + reset_new_handle // reset new handler + ) == 0); + ACE_DEBUG ((LM_DEBUG, "Remote connection from: ")); remote_address.dump (); diff --git a/examples/Reactor/WFMO_Reactor/test_network_events.cpp b/examples/Reactor/WFMO_Reactor/test_network_events.cpp index a954f626e5e..3dfce3d2102 100644 --- a/examples/Reactor/WFMO_Reactor/test_network_events.cpp +++ b/examples/Reactor/WFMO_Reactor/test_network_events.cpp @@ -32,6 +32,7 @@ // ============================================================================ #include "ace/Reactor.h" +#include "ace/WFMO_Reactor.h" #include "ace/INET_Addr.h" #include "ace/SOCK_Stream.h" #include "ace/SOCK_Acceptor.h" @@ -149,8 +150,24 @@ Network_Listener::handle_input (ACE_HANDLE handle) ACE_INET_Addr remote_address; ACE_SOCK_Stream stream; - ACE_ASSERT (this->acceptor_.accept (stream, &remote_address) == 0); - + int reset_new_handle = 0; +#if defined (ACE_WIN32) + // Try to find out if the implementation of the reactor that we are + // using is the WFMO_Reactor. If so we need to reset the event + // association for the newly created handle. This is because the + // newly created handle will inherit the properties of the listen + // handle, including its event associations. + if (dynamic_cast <ACE_WFMO_Reactor *> (this->reactor ()->implementation ())) + reset_new_handle = 1; +#endif /* ACE_WIN32 */ + + ACE_ASSERT (this->acceptor_.accept (stream, // stream + &remote_address, // remote address + 0, // timeout + 1, // restart + reset_new_handle // reset new handler + ) == 0); + ACE_DEBUG ((LM_DEBUG, "Remote connection from: ")); remote_address.dump (); diff --git a/examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.i b/examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.i index a925df264e1..5a46787ad7c 100644 --- a/examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.i +++ b/examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.i @@ -3,6 +3,7 @@ #include "ace/Get_Opt.h" +#include "ace/WFMO_Reactor.h" ACE_INLINE Handle_R_Stream::Handle_R_Stream (void) @@ -83,7 +84,23 @@ Handle_R_Stream::handle_input (int) char buf[BUFSIZ]; int bytes; - if (this->accept (this->new_remote_stream) == -1) + int reset_new_handle = 0; +#if defined (ACE_WIN32) + // Try to find out if the implementation of the reactor that we are + // using is the WFMO_Reactor. If so we need to reset the event + // association for the newly created handle. This is because the + // newly created handle will inherit the properties of the listen + // handle, including its event associations. + if (dynamic_cast <ACE_WFMO_Reactor *> (ACE_Reactor::instance ()->implementation ())) + reset_new_handle = 1; +#endif /* ACE_WIN32 */ + + if (this->accept (this->new_remote_stream, // stream + 0, // remote address + 0, // timeout + 1, // restart + reset_new_handle // reset new handler + ) == -1) return -1; else ACE_DEBUG ((LM_INFO, "new_remote_stream fd = %d\n", diff --git a/netsvcs/servers/servers.mak b/netsvcs/servers/servers.mak index ace35245ab1..da0d38dbc9e 100644 --- a/netsvcs/servers/servers.mak +++ b/netsvcs/servers/servers.mak @@ -60,8 +60,8 @@ CLEAN : if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE"\
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+CPP_PROJ=/nologo /MD /W3 /GR /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE"\
/Fp"$(INTDIR)/servers.pch" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\Release/
CPP_SBRS=.\.
@@ -117,9 +117,10 @@ CLEAN : if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\lib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\lib" /D "WIN32" /D "_DEBUG" /D\
- "_CONSOLE" /Fp"$(INTDIR)/servers.pch" /YX /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /I "..\lib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+CPP_PROJ=/nologo /MDd /W3 /Gm /GR /GX /Zi /Od /I "..\lib" /D "WIN32" /D\
+ "_DEBUG" /D "_CONSOLE" /Fp"$(INTDIR)/servers.pch" /YX /Fo"$(INTDIR)/"\
+ /Fd"$(INTDIR)/" /c
CPP_OBJS=.\debug/
CPP_SBRS=.\.
# ADD BASE RSC /l 0x409 /d "_DEBUG"
@@ -187,13 +188,74 @@ SOURCE=.\main.cpp DEP_CPP_MAIN_=\
"..\..\ace\config-win32.h"\
{$(INCLUDE)}"\ace\ACE.h"\
+ {$(INCLUDE)}"\ace\ACE.i"\
+ {$(INCLUDE)}"\ace\Atomic_Op.i"\
+ {$(INCLUDE)}"\ace\Auto_Ptr.cpp"\
+ {$(INCLUDE)}"\ace\Auto_Ptr.h"\
+ {$(INCLUDE)}"\ace\Auto_Ptr.i"\
{$(INCLUDE)}"\ace\config-win32-common.h"\
{$(INCLUDE)}"\ace\config.h"\
+ {$(INCLUDE)}"\ace\Containers.cpp"\
+ {$(INCLUDE)}"\ace\Containers.h"\
+ {$(INCLUDE)}"\ace\Containers.i"\
+ {$(INCLUDE)}"\ace\Event_Handler.h"\
+ {$(INCLUDE)}"\ace\Event_Handler.i"\
+ {$(INCLUDE)}"\ace\Free_List.cpp"\
+ {$(INCLUDE)}"\ace\Free_List.h"\
+ {$(INCLUDE)}"\ace\Free_List.i"\
+ {$(INCLUDE)}"\ace\Handle_Set.h"\
+ {$(INCLUDE)}"\ace\Handle_Set.i"\
+ {$(INCLUDE)}"\ace\Log_Msg.h"\
+ {$(INCLUDE)}"\ace\Log_Priority.h"\
+ {$(INCLUDE)}"\ace\Log_Record.h"\
+ {$(INCLUDE)}"\ace\Log_Record.i"\
+ {$(INCLUDE)}"\ace\Malloc.h"\
+ {$(INCLUDE)}"\ace\Malloc.i"\
+ {$(INCLUDE)}"\ace\Malloc_T.cpp"\
+ {$(INCLUDE)}"\ace\Malloc_T.h"\
+ {$(INCLUDE)}"\ace\Malloc_T.i"\
+ {$(INCLUDE)}"\ace\Managed_Object.cpp"\
+ {$(INCLUDE)}"\ace\Managed_Object.h"\
+ {$(INCLUDE)}"\ace\Managed_Object.i"\
+ {$(INCLUDE)}"\ace\Mem_Map.h"\
+ {$(INCLUDE)}"\ace\Mem_Map.i"\
+ {$(INCLUDE)}"\ace\Memory_Pool.h"\
+ {$(INCLUDE)}"\ace\Memory_Pool.i"\
+ {$(INCLUDE)}"\ace\Object_Manager.h"\
+ {$(INCLUDE)}"\ace\Object_Manager.i"\
{$(INCLUDE)}"\ace\OS.h"\
+ {$(INCLUDE)}"\ace\OS.i"\
+ {$(INCLUDE)}"\ace\Reactor.h"\
+ {$(INCLUDE)}"\ace\Reactor.i"\
+ {$(INCLUDE)}"\ace\Reactor_Impl.h"\
{$(INCLUDE)}"\ace\Service_Config.h"\
+ {$(INCLUDE)}"\ace\Service_Config.i"\
{$(INCLUDE)}"\ace\Service_Object.h"\
+ {$(INCLUDE)}"\ace\Service_Object.i"\
{$(INCLUDE)}"\ace\Shared_Object.h"\
+ {$(INCLUDE)}"\ace\Shared_Object.i"\
+ {$(INCLUDE)}"\ace\Signal.h"\
+ {$(INCLUDE)}"\ace\Signal.i"\
+ {$(INCLUDE)}"\ace\SString.h"\
+ {$(INCLUDE)}"\ace\SString.i"\
{$(INCLUDE)}"\ace\stdcpp.h"\
+ {$(INCLUDE)}"\ace\SV_Semaphore_Complex.h"\
+ {$(INCLUDE)}"\ace\SV_Semaphore_Complex.i"\
+ {$(INCLUDE)}"\ace\SV_Semaphore_Simple.h"\
+ {$(INCLUDE)}"\ace\SV_Semaphore_Simple.i"\
+ {$(INCLUDE)}"\ace\Svc_Conf_Tokens.h"\
+ {$(INCLUDE)}"\ace\Synch.h"\
+ {$(INCLUDE)}"\ace\Synch.i"\
+ {$(INCLUDE)}"\ace\Synch_T.cpp"\
+ {$(INCLUDE)}"\ace\Synch_T.h"\
+ {$(INCLUDE)}"\ace\Synch_T.i"\
+ {$(INCLUDE)}"\ace\Thread.h"\
+ {$(INCLUDE)}"\ace\Thread.i"\
+ {$(INCLUDE)}"\ace\Timer_Queue.h"\
+ {$(INCLUDE)}"\ace\Timer_Queue_T.cpp"\
+ {$(INCLUDE)}"\ace\Timer_Queue_T.h"\
+ {$(INCLUDE)}"\ace\Timer_Queue_T.i"\
+ {$(INCLUDE)}"\ace\Trace.h"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
NODEP_CPP_MAIN_=\
@@ -229,6 +291,7 @@ DEP_CPP_MAIN_=\ {$(INCLUDE)}"\ace\Acceptor.h"\
{$(INCLUDE)}"\ace\Acceptor.i"\
{$(INCLUDE)}"\ace\ACE.h"\
+ {$(INCLUDE)}"\ace\ACE.i"\
{$(INCLUDE)}"\ace\Addr.h"\
{$(INCLUDE)}"\ace\Addr.i"\
{$(INCLUDE)}"\ace\Atomic_Op.i"\
@@ -237,6 +300,9 @@ DEP_CPP_MAIN_=\ {$(INCLUDE)}"\ace\Auto_Ptr.i"\
{$(INCLUDE)}"\ace\config-win32-common.h"\
{$(INCLUDE)}"\ace\config.h"\
+ {$(INCLUDE)}"\ace\Connector.cpp"\
+ {$(INCLUDE)}"\ace\Connector.h"\
+ {$(INCLUDE)}"\ace\Connector.i"\
{$(INCLUDE)}"\ace\Containers.cpp"\
{$(INCLUDE)}"\ace\Containers.h"\
{$(INCLUDE)}"\ace\Containers.i"\
@@ -295,11 +361,17 @@ DEP_CPP_MAIN_=\ {$(INCLUDE)}"\ace\Object_Manager.i"\
{$(INCLUDE)}"\ace\OS.h"\
{$(INCLUDE)}"\ace\OS.i"\
+ {$(INCLUDE)}"\ace\Reactor.h"\
+ {$(INCLUDE)}"\ace\Reactor.i"\
+ {$(INCLUDE)}"\ace\Reactor_Impl.h"\
{$(INCLUDE)}"\ace\Service_Config.h"\
+ {$(INCLUDE)}"\ace\Service_Config.i"\
{$(INCLUDE)}"\ace\Service_Object.h"\
+ {$(INCLUDE)}"\ace\Service_Object.i"\
{$(INCLUDE)}"\ace\Service_Types.h"\
{$(INCLUDE)}"\ace\Service_Types.i"\
{$(INCLUDE)}"\ace\Shared_Object.h"\
+ {$(INCLUDE)}"\ace\Shared_Object.i"\
{$(INCLUDE)}"\ace\Signal.h"\
{$(INCLUDE)}"\ace\Signal.i"\
{$(INCLUDE)}"\ace\SOCK.h"\
@@ -331,6 +403,7 @@ DEP_CPP_MAIN_=\ {$(INCLUDE)}"\ace\SV_Semaphore_Complex.i"\
{$(INCLUDE)}"\ace\SV_Semaphore_Simple.h"\
{$(INCLUDE)}"\ace\SV_Semaphore_Simple.i"\
+ {$(INCLUDE)}"\ace\Svc_Conf_Tokens.h"\
{$(INCLUDE)}"\ace\Svc_Handler.cpp"\
{$(INCLUDE)}"\ace\Svc_Handler.h"\
{$(INCLUDE)}"\ace\Svc_Handler.i"\
@@ -351,6 +424,10 @@ DEP_CPP_MAIN_=\ {$(INCLUDE)}"\ace\Thread_Manager.i"\
{$(INCLUDE)}"\ace\Time_Request_Reply.h"\
{$(INCLUDE)}"\ace\Time_Value.h"\
+ {$(INCLUDE)}"\ace\Timer_Queue.h"\
+ {$(INCLUDE)}"\ace\Timer_Queue_T.cpp"\
+ {$(INCLUDE)}"\ace\Timer_Queue_T.h"\
+ {$(INCLUDE)}"\ace\Timer_Queue_T.i"\
{$(INCLUDE)}"\ace\TLI.h"\
{$(INCLUDE)}"\ace\TLI.i"\
{$(INCLUDE)}"\ace\TLI_Acceptor.h"\
diff --git a/netsvcs/servers/servers.mdp b/netsvcs/servers/servers.mdp Binary files differindex 4fb7058dd7e..bf1d8afcbab 100644 --- a/netsvcs/servers/servers.mdp +++ b/netsvcs/servers/servers.mdp |