diff options
author | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-10-22 06:05:25 +0000 |
---|---|---|
committer | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-10-22 06:05:25 +0000 |
commit | 2f31dbc5cde1b365c717a71be2339387677f2b1d (patch) | |
tree | fba2aa36d4793a9941d1197a888672f05840b2e2 | |
parent | 52dce2ac018e386ab44d404c6eaa0fafdbc10434 (diff) | |
download | ATCD-2f31dbc5cde1b365c717a71be2339387677f2b1d.tar.gz |
*** empty log message ***
-rw-r--r-- | ChangeLog-97b | 41 | ||||
-rw-r--r-- | ace/Event_Handler.h | 4 | ||||
-rw-r--r-- | ace/WFMO_Reactor.cpp | 44 | ||||
-rw-r--r-- | examples/Reactor/ReactorEx/reactorex.mak | 51 | ||||
-rw-r--r-- | examples/Reactor/ReactorEx/reactorex.mdp | bin | 72704 -> 74752 bytes | |||
-rw-r--r-- | examples/Reactor/ReactorEx/test_network_events.cpp | 20 | ||||
-rw-r--r-- | examples/Reactor/WFMO_Reactor/reactorex.mak | 51 | ||||
-rw-r--r-- | examples/Reactor/WFMO_Reactor/reactorex.mdp | bin | 72704 -> 74752 bytes | |||
-rw-r--r-- | examples/Reactor/WFMO_Reactor/test_network_events.cpp | 20 | ||||
-rw-r--r-- | tests/Reactor_Performance_Test.cpp | 8 |
10 files changed, 188 insertions, 51 deletions
diff --git a/ChangeLog-97b b/ChangeLog-97b index f05910b3dc2..44a73fcec82 100644 --- a/ChangeLog-97b +++ b/ChangeLog-97b @@ -1,3 +1,44 @@ +Tue Oct 21 22:55:36 1997 <irfan@TWOSTEP> + + * ace/WFMO_Reactor: Removed ACE_Event_Handler::CLOSE_MASK and the + explicit registration for the closing of sockets from + WFMO_Reactor. This is essentially for compatibility with UNIX + programs. UNIX does not have a CLOSE_MASK and the notification + of the closing of a socket is implicit in the socket becoming + read ready. Therefore when you register for + ACE_Event_Handler::READ_MASK with WFMO_Reactor, you will + register for FD_READ and FD_CLOSE. When FD_CLOSE is triggered, + handle_input() will be called on the Event_Handler. As on UNIX, + read() will return 0 and the programmer will be able to tell + that the socket has actually closed down. + + Arguably, this is lame for Win32 programmers as they have the + explicit close notification, but portability and existing code + base wins in this case. + + One other change. When an event_handler returns -1 from the + callback, unbind() is called with ALL_EVENTS_MASK rather than + the NULL_MASK. + + The upcall routine still needs to threat the two masks + separately. (FD_CLOSE | FD_READ) will not work as both maybe + simultaneously enabled. Therefore handle_input() maybe be called + twice (once for FD_READ and once for FD_CLOSE) unless the user + returns -1 from the first callback. + + * ace/Event_Handler: Removed the CLOSE_MASK. + + * examples/Logger/simple-server/Logging_Handler.cpp: Minor fixes. + + * examples/Logger/Acceptor-server/server_loggerd.cpp: Minor + changes. No need to register the acceptor with the + Reactor. Acceptor::open() does that. + + * examples/Reactor/ReactorEx/test_network_events: Removed the use + of CLOSE_MASK. + + * tests/Reactor_Performance_Test: Removed the use of CLOSE_MASK. + Tue Oct 21 21:48:54 1997 David L. Levine <levine@cs.wustl.edu> * ace/OS.[hi]: moved ACE_PTHREAD_CLEANUP_PUSH/POP definitions from diff --git a/ace/Event_Handler.h b/ace/Event_Handler.h index f770e5971c6..c4396dd8713 100644 --- a/ace/Event_Handler.h +++ b/ace/Event_Handler.h @@ -55,7 +55,6 @@ public: TIMER_MASK = (1 << 5), QOS_MASK = (1 << 6), GROUP_QOS_MASK = (1 << 7), - CLOSE_MASK = (1 << 8), ALL_EVENTS_MASK = READ_MASK | WRITE_MASK | EXCEPT_MASK | @@ -63,8 +62,7 @@ public: CONNECT_MASK | TIMER_MASK | QOS_MASK | - GROUP_QOS_MASK | - CLOSE_MASK, + GROUP_QOS_MASK, RWE_MASK = READ_MASK | WRITE_MASK | EXCEPT_MASK, diff --git a/ace/WFMO_Reactor.cpp b/ace/WFMO_Reactor.cpp index 443726a41a5..325956c43f9 100644 --- a/ace/WFMO_Reactor.cpp +++ b/ace/WFMO_Reactor.cpp @@ -59,8 +59,11 @@ ACE_WFMO_Reactor_Handler_Repository::remove_network_events_i (long &existing_mas ACE_Reactor_Mask to_be_removed_masks) { if (ACE_BIT_ENABLED (to_be_removed_masks, ACE_Event_Handler::READ_MASK)) - ACE_CLR_BITS (existing_masks, FD_READ); - + { + ACE_CLR_BITS (existing_masks, FD_READ); + ACE_CLR_BITS (existing_masks, FD_CLOSE); + } + if (ACE_BIT_ENABLED (to_be_removed_masks, ACE_Event_Handler::WRITE_MASK)) ACE_CLR_BITS (existing_masks, FD_WRITE); @@ -78,9 +81,6 @@ ACE_WFMO_Reactor_Handler_Repository::remove_network_events_i (long &existing_mas if (ACE_BIT_ENABLED (to_be_removed_masks, ACE_Event_Handler::GROUP_QOS_MASK)) ACE_CLR_BITS (existing_masks, FD_GROUP_QOS); - - if (ACE_BIT_ENABLED (to_be_removed_masks, ACE_Event_Handler::CLOSE_MASK)) - ACE_CLR_BITS (existing_masks, FD_CLOSE); } int @@ -156,6 +156,12 @@ ACE_WFMO_Reactor_Handler_Repository::remove_handler_i (size_t index, this->current_handles_[index], this->current_info_[index].network_events_); } + else + // Normal event entries + { + // Make sure that the <to_be_removed_masks> is the NULL_MASK + to_be_removed_masks = ACE_Event_Handler::NULL_MASK; + } // If there are no more events that the <Event_Handler> is // interested in, or this is a non-I/O entry, schedule the @@ -194,7 +200,13 @@ ACE_WFMO_Reactor_Handler_Repository::remove_suspended_handler_i (size_t index, this->current_suspended_info_[index].event_handle_, this->current_suspended_info_[index].network_events_); } - + else + // Normal event entries + { + // Make sure that the <to_be_removed_masks> is the NULL_MASK + to_be_removed_masks = ACE_Event_Handler::NULL_MASK; + } + // If there are no more events that the <Event_Handler> is // interested in, or this is a non-I/O entry, schedule the // <Event_Handler> for removal @@ -285,10 +297,10 @@ ACE_WFMO_Reactor_Handler_Repository::unbind_all (void) // Remove all the handlers for (size_t i = 0; i < this->max_handlep1_; i++) - this->remove_handler_i (i, ACE_Event_Handler::NULL_MASK); + this->remove_handler_i (i, ACE_Event_Handler::ALL_EVENTS_MASK); for (i = 0; i < this->suspended_handles_; i++) - this->remove_suspended_handler_i (i, ACE_Event_Handler::NULL_MASK); + this->remove_suspended_handler_i (i, ACE_Event_Handler::ALL_EVENTS_MASK); } // The guard is released here @@ -866,7 +878,10 @@ ACE_WFMO_Reactor_Handler_Repository::add_network_events_i (ACE_Reactor_Mask mask } if (ACE_BIT_ENABLED (mask, ACE_Event_Handler::READ_MASK)) - ACE_SET_BITS (*modified_masks, FD_READ); + { + ACE_SET_BITS (*modified_masks, FD_READ); + ACE_SET_BITS (*modified_masks, FD_CLOSE); + } if (ACE_BIT_ENABLED (mask, ACE_Event_Handler::WRITE_MASK)) ACE_SET_BITS (*modified_masks, FD_WRITE); @@ -886,9 +901,6 @@ ACE_WFMO_Reactor_Handler_Repository::add_network_events_i (ACE_Reactor_Mask mask if (ACE_BIT_ENABLED (mask, ACE_Event_Handler::GROUP_QOS_MASK)) ACE_SET_BITS (*modified_masks, FD_GROUP_QOS); - if (ACE_BIT_ENABLED (mask, ACE_Event_Handler::CLOSE_MASK)) - ACE_SET_BITS (*modified_masks, FD_CLOSE); - new_masks = *modified_masks; return found; @@ -1127,7 +1139,7 @@ ACE_WFMO_Reactor::complex_dispatch_handler (int index, current_info.io_handle_, event_handle, current_info.network_events_) == -1) - this->handler_rep_.unbind (event_handle, ACE_Event_Handler::NULL_MASK); + this->handler_rep_.unbind (event_handle, ACE_Event_Handler::ALL_EVENTS_MASK); return 0; } @@ -1153,6 +1165,9 @@ ACE_WFMO_Reactor::upcall (ACE_Event_Handler *event_handler, if (result != -1 && interested_events & actual_events & FD_READ) result = event_handler->handle_input (io_handle); + if (result != -1 && interested_events & actual_events & FD_CLOSE) + result = event_handler->handle_input (io_handle); + if (result != -1 && interested_events & actual_events & FD_WRITE) result = event_handler->handle_output (io_handle); @@ -1172,9 +1187,6 @@ ACE_WFMO_Reactor::upcall (ACE_Event_Handler *event_handler, result = event_handler->handle_input (io_handle); } - if (result != -1 && interested_events & actual_events & FD_CLOSE) - result = event_handler->handle_close (io_handle, ACE_Event_Handler::CLOSE_MASK); - if (result != -1 && interested_events & actual_events & FD_QOS) result = event_handler->handle_qos (io_handle); diff --git a/examples/Reactor/ReactorEx/reactorex.mak b/examples/Reactor/ReactorEx/reactorex.mak index 65b22bb39ea..ea047e78383 100644 --- a/examples/Reactor/ReactorEx/reactorex.mak +++ b/examples/Reactor/ReactorEx/reactorex.mak @@ -20,7 +20,7 @@ CFG=Registry_Changes - Win32 Debug !MESSAGE You can specify a configuration when running NMAKE on this makefile
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
-!MESSAGE NMAKE /f "ReactorEx.mak" CFG="Registry_Changes - Win32 Debug"
+!MESSAGE NMAKE /f "reactorex.mak" CFG="Registry_Changes - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
@@ -710,6 +710,7 @@ DEP_CPP_TEST_=\ {$(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"\
@@ -755,11 +756,14 @@ DEP_CPP_TEST_=\ {$(INCLUDE)}"\ace\Synch_T.i"\
{$(INCLUDE)}"\ace\Thread.h"\
{$(INCLUDE)}"\ace\Thread.i"\
+ {$(INCLUDE)}"\ace\Thread_Manager.h"\
+ {$(INCLUDE)}"\ace\Thread_Manager.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\Version.h"\
{$(INCLUDE)}"\ace\WFMO_Reactor.h"\
{$(INCLUDE)}"\ace\WFMO_Reactor.i"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
@@ -814,6 +818,7 @@ DEP_CPP_TEST_M=\ {$(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"\
@@ -877,6 +882,7 @@ DEP_CPP_TEST_M=\ {$(INCLUDE)}"\ace\Timer_Queue_T.h"\
{$(INCLUDE)}"\ace\Timer_Queue_T.i"\
{$(INCLUDE)}"\ace\Trace.h"\
+ {$(INCLUDE)}"\ace\Version.h"\
{$(INCLUDE)}"\ace\WFMO_Reactor.h"\
{$(INCLUDE)}"\ace\WFMO_Reactor.i"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
@@ -917,8 +923,11 @@ DEP_CPP_TEST_N=\ {$(INCLUDE)}"\ace\Free_List.i"\
{$(INCLUDE)}"\ace\Handle_Set.h"\
{$(INCLUDE)}"\ace\Handle_Set.i"\
+ {$(INCLUDE)}"\ace\Hash_Map_Manager.cpp"\
+ {$(INCLUDE)}"\ace\Hash_Map_Manager.h"\
{$(INCLUDE)}"\ace\INET_Addr.h"\
{$(INCLUDE)}"\ace\INET_Addr.i"\
+ {$(INCLUDE)}"\ace\IO_Cntl_Msg.h"\
{$(INCLUDE)}"\ace\IPC_SAP.h"\
{$(INCLUDE)}"\ace\IPC_SAP.i"\
{$(INCLUDE)}"\ace\Log_Msg.h"\
@@ -932,10 +941,16 @@ DEP_CPP_TEST_N=\ {$(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\Message_Block.h"\
+ {$(INCLUDE)}"\ace\Message_Block.i"\
+ {$(INCLUDE)}"\ace\Message_Queue.cpp"\
+ {$(INCLUDE)}"\ace\Message_Queue.h"\
+ {$(INCLUDE)}"\ace\Message_Queue.i"\
{$(INCLUDE)}"\ace\Object_Manager.h"\
{$(INCLUDE)}"\ace\Object_Manager.i"\
{$(INCLUDE)}"\ace\OS.h"\
@@ -943,6 +958,14 @@ DEP_CPP_TEST_N=\ {$(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"\
@@ -956,23 +979,33 @@ DEP_CPP_TEST_N=\ {$(INCLUDE)}"\ace\SString.h"\
{$(INCLUDE)}"\ace\SString.i"\
{$(INCLUDE)}"\ace\stdcpp.h"\
+ {$(INCLUDE)}"\ace\Strategies.h"\
+ {$(INCLUDE)}"\ace\Strategies_T.cpp"\
+ {$(INCLUDE)}"\ace\Strategies_T.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_Options.h"\
{$(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\Thread_Manager.h"\
+ {$(INCLUDE)}"\ace\Thread_Manager.i"\
{$(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\Trace.h"\
+ {$(INCLUDE)}"\ace\Version.h"\
+ {$(INCLUDE)}"\ace\WFMO_Reactor.h"\
+ {$(INCLUDE)}"\ace\WFMO_Reactor.i"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
@@ -1020,6 +1053,7 @@ DEP_CPP_TEST_R=\ {$(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"\
@@ -1052,6 +1086,7 @@ DEP_CPP_TEST_R=\ {$(INCLUDE)}"\ace\Timer_Queue_T.h"\
{$(INCLUDE)}"\ace\Timer_Queue_T.i"\
{$(INCLUDE)}"\ace\Trace.h"\
+ {$(INCLUDE)}"\ace\Version.h"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
@@ -1099,6 +1134,7 @@ DEP_CPP_TEST_RE=\ {$(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"\
@@ -1138,6 +1174,7 @@ DEP_CPP_TEST_RE=\ {$(INCLUDE)}"\ace\Timer_Queue_T.h"\
{$(INCLUDE)}"\ace\Timer_Queue_T.i"\
{$(INCLUDE)}"\ace\Trace.h"\
+ {$(INCLUDE)}"\ace\Version.h"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
@@ -1200,6 +1237,7 @@ DEP_CPP_TEST_T=\ {$(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"\
@@ -1285,6 +1323,9 @@ DEP_CPP_TEST_T=\ {$(INCLUDE)}"\ace\Timer_Wheel_T.cpp"\
{$(INCLUDE)}"\ace\Timer_Wheel_T.h"\
{$(INCLUDE)}"\ace\Trace.h"\
+ {$(INCLUDE)}"\ace\Version.h"\
+ {$(INCLUDE)}"\ace\WFMO_Reactor.h"\
+ {$(INCLUDE)}"\ace\WFMO_Reactor.i"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
@@ -1332,6 +1373,7 @@ DEP_CPP_TEST_TI=\ {$(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"\
@@ -1371,6 +1413,7 @@ DEP_CPP_TEST_TI=\ {$(INCLUDE)}"\ace\Timer_Queue_T.h"\
{$(INCLUDE)}"\ace\Timer_Queue_T.i"\
{$(INCLUDE)}"\ace\Trace.h"\
+ {$(INCLUDE)}"\ace\Version.h"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
@@ -1418,6 +1461,7 @@ DEP_CPP_TEST_D=\ {$(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"\
@@ -1450,6 +1494,7 @@ DEP_CPP_TEST_D=\ {$(INCLUDE)}"\ace\Timer_Queue_T.h"\
{$(INCLUDE)}"\ace\Timer_Queue_T.i"\
{$(INCLUDE)}"\ace\Trace.h"\
+ {$(INCLUDE)}"\ace\Version.h"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
@@ -1498,6 +1543,7 @@ DEP_CPP_TEST_C=\ {$(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"\
@@ -1530,6 +1576,7 @@ DEP_CPP_TEST_C=\ {$(INCLUDE)}"\ace\Timer_Queue_T.h"\
{$(INCLUDE)}"\ace\Timer_Queue_T.i"\
{$(INCLUDE)}"\ace\Trace.h"\
+ {$(INCLUDE)}"\ace\Version.h"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
@@ -1577,6 +1624,7 @@ DEP_CPP_TEST_REG=\ {$(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"\
@@ -1610,6 +1658,7 @@ DEP_CPP_TEST_REG=\ {$(INCLUDE)}"\ace\Timer_Queue_T.h"\
{$(INCLUDE)}"\ace\Timer_Queue_T.i"\
{$(INCLUDE)}"\ace\Trace.h"\
+ {$(INCLUDE)}"\ace\Version.h"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
{$(INCLUDE)}"\algobase.h"\
{$(INCLUDE)}"\bool.h"\
diff --git a/examples/Reactor/ReactorEx/reactorex.mdp b/examples/Reactor/ReactorEx/reactorex.mdp Binary files differindex ff80c4f25ae..c1bcfbb5d05 100644 --- a/examples/Reactor/ReactorEx/reactorex.mdp +++ b/examples/Reactor/ReactorEx/reactorex.mdp diff --git a/examples/Reactor/ReactorEx/test_network_events.cpp b/examples/Reactor/ReactorEx/test_network_events.cpp index c9089044ace..cdb3070b550 100644 --- a/examples/Reactor/ReactorEx/test_network_events.cpp +++ b/examples/Reactor/ReactorEx/test_network_events.cpp @@ -61,9 +61,7 @@ Network_Handler::Network_Handler (ACE_SOCK_Stream &s) { this->reactor (&::reactor); - ACE_Reactor_Mask mask = ACE_Event_Handler::READ_MASK | ACE_Event_Handler::CLOSE_MASK; - ACE_ASSERT (this->reactor ()->register_handler (this, - mask) == 0); + ACE_ASSERT (this->reactor ()->register_handler (this, READ_MASK) == 0); } ACE_HANDLE @@ -85,6 +83,11 @@ Network_Handler::handle_input (ACE_HANDLE handle) ACE_DEBUG ((LM_DEBUG, "Remote message: %s\n", message)); return 0; } + else if (result == 0) + { + ACE_DEBUG ((LM_DEBUG, "Connection closed\n")); + return -1; + } else { ACE_DEBUG ((LM_DEBUG, "Problems in receiving data, result = %d", result)); @@ -98,17 +101,8 @@ Network_Handler::handle_close (ACE_HANDLE handle, { ACE_DEBUG ((LM_DEBUG, "Network_Handler::handle_close handle = %d\n", handle)); - // Called because of remote shutdown - if (close_mask == ACE_Event_Handler::CLOSE_MASK) - { - ACE_Reactor_Mask mask = ACE_Event_Handler::DONT_CALL | ACE_Event_Handler::ALL_EVENTS_MASK; - this->reactor ()->remove_handler (this, mask); - } - - this->stream_.close (); - + this->stream_.close (); delete this; - return 0; } diff --git a/examples/Reactor/WFMO_Reactor/reactorex.mak b/examples/Reactor/WFMO_Reactor/reactorex.mak index 65b22bb39ea..ea047e78383 100644 --- a/examples/Reactor/WFMO_Reactor/reactorex.mak +++ b/examples/Reactor/WFMO_Reactor/reactorex.mak @@ -20,7 +20,7 @@ CFG=Registry_Changes - Win32 Debug !MESSAGE You can specify a configuration when running NMAKE on this makefile
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
-!MESSAGE NMAKE /f "ReactorEx.mak" CFG="Registry_Changes - Win32 Debug"
+!MESSAGE NMAKE /f "reactorex.mak" CFG="Registry_Changes - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
@@ -710,6 +710,7 @@ DEP_CPP_TEST_=\ {$(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"\
@@ -755,11 +756,14 @@ DEP_CPP_TEST_=\ {$(INCLUDE)}"\ace\Synch_T.i"\
{$(INCLUDE)}"\ace\Thread.h"\
{$(INCLUDE)}"\ace\Thread.i"\
+ {$(INCLUDE)}"\ace\Thread_Manager.h"\
+ {$(INCLUDE)}"\ace\Thread_Manager.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\Version.h"\
{$(INCLUDE)}"\ace\WFMO_Reactor.h"\
{$(INCLUDE)}"\ace\WFMO_Reactor.i"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
@@ -814,6 +818,7 @@ DEP_CPP_TEST_M=\ {$(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"\
@@ -877,6 +882,7 @@ DEP_CPP_TEST_M=\ {$(INCLUDE)}"\ace\Timer_Queue_T.h"\
{$(INCLUDE)}"\ace\Timer_Queue_T.i"\
{$(INCLUDE)}"\ace\Trace.h"\
+ {$(INCLUDE)}"\ace\Version.h"\
{$(INCLUDE)}"\ace\WFMO_Reactor.h"\
{$(INCLUDE)}"\ace\WFMO_Reactor.i"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
@@ -917,8 +923,11 @@ DEP_CPP_TEST_N=\ {$(INCLUDE)}"\ace\Free_List.i"\
{$(INCLUDE)}"\ace\Handle_Set.h"\
{$(INCLUDE)}"\ace\Handle_Set.i"\
+ {$(INCLUDE)}"\ace\Hash_Map_Manager.cpp"\
+ {$(INCLUDE)}"\ace\Hash_Map_Manager.h"\
{$(INCLUDE)}"\ace\INET_Addr.h"\
{$(INCLUDE)}"\ace\INET_Addr.i"\
+ {$(INCLUDE)}"\ace\IO_Cntl_Msg.h"\
{$(INCLUDE)}"\ace\IPC_SAP.h"\
{$(INCLUDE)}"\ace\IPC_SAP.i"\
{$(INCLUDE)}"\ace\Log_Msg.h"\
@@ -932,10 +941,16 @@ DEP_CPP_TEST_N=\ {$(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\Message_Block.h"\
+ {$(INCLUDE)}"\ace\Message_Block.i"\
+ {$(INCLUDE)}"\ace\Message_Queue.cpp"\
+ {$(INCLUDE)}"\ace\Message_Queue.h"\
+ {$(INCLUDE)}"\ace\Message_Queue.i"\
{$(INCLUDE)}"\ace\Object_Manager.h"\
{$(INCLUDE)}"\ace\Object_Manager.i"\
{$(INCLUDE)}"\ace\OS.h"\
@@ -943,6 +958,14 @@ DEP_CPP_TEST_N=\ {$(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"\
@@ -956,23 +979,33 @@ DEP_CPP_TEST_N=\ {$(INCLUDE)}"\ace\SString.h"\
{$(INCLUDE)}"\ace\SString.i"\
{$(INCLUDE)}"\ace\stdcpp.h"\
+ {$(INCLUDE)}"\ace\Strategies.h"\
+ {$(INCLUDE)}"\ace\Strategies_T.cpp"\
+ {$(INCLUDE)}"\ace\Strategies_T.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_Options.h"\
{$(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\Thread_Manager.h"\
+ {$(INCLUDE)}"\ace\Thread_Manager.i"\
{$(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\Trace.h"\
+ {$(INCLUDE)}"\ace\Version.h"\
+ {$(INCLUDE)}"\ace\WFMO_Reactor.h"\
+ {$(INCLUDE)}"\ace\WFMO_Reactor.i"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
@@ -1020,6 +1053,7 @@ DEP_CPP_TEST_R=\ {$(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"\
@@ -1052,6 +1086,7 @@ DEP_CPP_TEST_R=\ {$(INCLUDE)}"\ace\Timer_Queue_T.h"\
{$(INCLUDE)}"\ace\Timer_Queue_T.i"\
{$(INCLUDE)}"\ace\Trace.h"\
+ {$(INCLUDE)}"\ace\Version.h"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
@@ -1099,6 +1134,7 @@ DEP_CPP_TEST_RE=\ {$(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"\
@@ -1138,6 +1174,7 @@ DEP_CPP_TEST_RE=\ {$(INCLUDE)}"\ace\Timer_Queue_T.h"\
{$(INCLUDE)}"\ace\Timer_Queue_T.i"\
{$(INCLUDE)}"\ace\Trace.h"\
+ {$(INCLUDE)}"\ace\Version.h"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
@@ -1200,6 +1237,7 @@ DEP_CPP_TEST_T=\ {$(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"\
@@ -1285,6 +1323,9 @@ DEP_CPP_TEST_T=\ {$(INCLUDE)}"\ace\Timer_Wheel_T.cpp"\
{$(INCLUDE)}"\ace\Timer_Wheel_T.h"\
{$(INCLUDE)}"\ace\Trace.h"\
+ {$(INCLUDE)}"\ace\Version.h"\
+ {$(INCLUDE)}"\ace\WFMO_Reactor.h"\
+ {$(INCLUDE)}"\ace\WFMO_Reactor.i"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
@@ -1332,6 +1373,7 @@ DEP_CPP_TEST_TI=\ {$(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"\
@@ -1371,6 +1413,7 @@ DEP_CPP_TEST_TI=\ {$(INCLUDE)}"\ace\Timer_Queue_T.h"\
{$(INCLUDE)}"\ace\Timer_Queue_T.i"\
{$(INCLUDE)}"\ace\Trace.h"\
+ {$(INCLUDE)}"\ace\Version.h"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
@@ -1418,6 +1461,7 @@ DEP_CPP_TEST_D=\ {$(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"\
@@ -1450,6 +1494,7 @@ DEP_CPP_TEST_D=\ {$(INCLUDE)}"\ace\Timer_Queue_T.h"\
{$(INCLUDE)}"\ace\Timer_Queue_T.i"\
{$(INCLUDE)}"\ace\Trace.h"\
+ {$(INCLUDE)}"\ace\Version.h"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
@@ -1498,6 +1543,7 @@ DEP_CPP_TEST_C=\ {$(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"\
@@ -1530,6 +1576,7 @@ DEP_CPP_TEST_C=\ {$(INCLUDE)}"\ace\Timer_Queue_T.h"\
{$(INCLUDE)}"\ace\Timer_Queue_T.i"\
{$(INCLUDE)}"\ace\Trace.h"\
+ {$(INCLUDE)}"\ace\Version.h"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
@@ -1577,6 +1624,7 @@ DEP_CPP_TEST_REG=\ {$(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"\
@@ -1610,6 +1658,7 @@ DEP_CPP_TEST_REG=\ {$(INCLUDE)}"\ace\Timer_Queue_T.h"\
{$(INCLUDE)}"\ace\Timer_Queue_T.i"\
{$(INCLUDE)}"\ace\Trace.h"\
+ {$(INCLUDE)}"\ace\Version.h"\
{$(INCLUDE)}"\ace\ws2tcpip.h"\
{$(INCLUDE)}"\algobase.h"\
{$(INCLUDE)}"\bool.h"\
diff --git a/examples/Reactor/WFMO_Reactor/reactorex.mdp b/examples/Reactor/WFMO_Reactor/reactorex.mdp Binary files differindex ff80c4f25ae..c1bcfbb5d05 100644 --- a/examples/Reactor/WFMO_Reactor/reactorex.mdp +++ b/examples/Reactor/WFMO_Reactor/reactorex.mdp diff --git a/examples/Reactor/WFMO_Reactor/test_network_events.cpp b/examples/Reactor/WFMO_Reactor/test_network_events.cpp index c9089044ace..cdb3070b550 100644 --- a/examples/Reactor/WFMO_Reactor/test_network_events.cpp +++ b/examples/Reactor/WFMO_Reactor/test_network_events.cpp @@ -61,9 +61,7 @@ Network_Handler::Network_Handler (ACE_SOCK_Stream &s) { this->reactor (&::reactor); - ACE_Reactor_Mask mask = ACE_Event_Handler::READ_MASK | ACE_Event_Handler::CLOSE_MASK; - ACE_ASSERT (this->reactor ()->register_handler (this, - mask) == 0); + ACE_ASSERT (this->reactor ()->register_handler (this, READ_MASK) == 0); } ACE_HANDLE @@ -85,6 +83,11 @@ Network_Handler::handle_input (ACE_HANDLE handle) ACE_DEBUG ((LM_DEBUG, "Remote message: %s\n", message)); return 0; } + else if (result == 0) + { + ACE_DEBUG ((LM_DEBUG, "Connection closed\n")); + return -1; + } else { ACE_DEBUG ((LM_DEBUG, "Problems in receiving data, result = %d", result)); @@ -98,17 +101,8 @@ Network_Handler::handle_close (ACE_HANDLE handle, { ACE_DEBUG ((LM_DEBUG, "Network_Handler::handle_close handle = %d\n", handle)); - // Called because of remote shutdown - if (close_mask == ACE_Event_Handler::CLOSE_MASK) - { - ACE_Reactor_Mask mask = ACE_Event_Handler::DONT_CALL | ACE_Event_Handler::ALL_EVENTS_MASK; - this->reactor ()->remove_handler (this, mask); - } - - this->stream_.close (); - + this->stream_.close (); delete this; - return 0; } diff --git a/tests/Reactor_Performance_Test.cpp b/tests/Reactor_Performance_Test.cpp index a5d2f66e419..29dd9b88e3f 100644 --- a/tests/Reactor_Performance_Test.cpp +++ b/tests/Reactor_Performance_Test.cpp @@ -78,7 +78,7 @@ Read_Handler::open (void *) ACE_ERROR_RETURN ((LM_ERROR, "(%t) Read_Handler::open, cannot set non blocking mode\n"), -1); - if (reactor ()->register_handler (this, READ_MASK | CLOSE_MASK) == -1) + if (reactor ()->register_handler (this, READ_MASK) == -1) ACE_ERROR_RETURN ((LM_ERROR, "(%t) Read_Handler::open, cannot register handler\n"), -1); @@ -117,16 +117,16 @@ Read_Handler::handle_close (ACE_HANDLE handle, { ACE_UNUSED_ARG (handle); ACE_UNUSED_ARG (close_mask); - + // Reduce count waiting_--; - + // If no connections are open if (waiting_ == 0) { ACE_Reactor::instance ()->end_event_loop (); } - + ACE_DEBUG ((LM_DEBUG, "(%t) Read_Handler::handle_close closing down\n")); |