summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-10-22 06:05:25 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-10-22 06:05:25 +0000
commit2f31dbc5cde1b365c717a71be2339387677f2b1d (patch)
treefba2aa36d4793a9941d1197a888672f05840b2e2
parent52dce2ac018e386ab44d404c6eaa0fafdbc10434 (diff)
downloadATCD-2f31dbc5cde1b365c717a71be2339387677f2b1d.tar.gz
*** empty log message ***
-rw-r--r--ChangeLog-97b41
-rw-r--r--ace/Event_Handler.h4
-rw-r--r--ace/WFMO_Reactor.cpp44
-rw-r--r--examples/Reactor/ReactorEx/reactorex.mak51
-rw-r--r--examples/Reactor/ReactorEx/reactorex.mdpbin72704 -> 74752 bytes
-rw-r--r--examples/Reactor/ReactorEx/test_network_events.cpp20
-rw-r--r--examples/Reactor/WFMO_Reactor/reactorex.mak51
-rw-r--r--examples/Reactor/WFMO_Reactor/reactorex.mdpbin72704 -> 74752 bytes
-rw-r--r--examples/Reactor/WFMO_Reactor/test_network_events.cpp20
-rw-r--r--tests/Reactor_Performance_Test.cpp8
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
index ff80c4f25ae..c1bcfbb5d05 100644
--- a/examples/Reactor/ReactorEx/reactorex.mdp
+++ b/examples/Reactor/ReactorEx/reactorex.mdp
Binary files differ
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
index ff80c4f25ae..c1bcfbb5d05 100644
--- a/examples/Reactor/WFMO_Reactor/reactorex.mdp
+++ b/examples/Reactor/WFMO_Reactor/reactorex.mdp
Binary files differ
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"));