1 //=============================================================================
3 * @file Prerun_State_Changes.cpp
5 * Tests the Reactor's ability to handle state changes before
6 * getting a chance to run.
8 * @author Irfan Pyarali
10 //=============================================================================
13 #include "ace/Reactor.h"
14 #include "ace/OS_main.h"
15 #include "ace/OS_NS_sys_socket.h"
16 #include "ace/Log_Msg.h"
20 * @class Event_Handler
22 * @brief Generic Event Handler.
24 class Event_Handler
: public ACE_Event_Handler
27 virtual int handle_close (ACE_HANDLE handle
, ACE_Reactor_Mask mask
)
31 "event handler %d closed.\n",
39 ACE_TMAIN (int, ACE_TCHAR
*[])
41 ACE_HANDLE handle
= ACE_OS::socket (PF_INET
, SOCK_STREAM
, 0);
43 Event_Handler
*event_handler
= new Event_Handler
;
45 int result
= ACE_Reactor::instance ()->register_handler (handle
,
47 ACE_Event_Handler::READ_MASK
);
48 ACE_TEST_ASSERT (result
== 0);
50 result
= ACE_Reactor::instance ()->register_handler (handle
,
52 ACE_Event_Handler::WRITE_MASK
| ACE_Event_Handler::QOS_MASK
);
53 ACE_TEST_ASSERT (result
== 0);
55 result
= ACE_Reactor::instance ()->remove_handler (handle
,
56 ACE_Event_Handler::READ_MASK
| ACE_Event_Handler::DONT_CALL
);
57 ACE_TEST_ASSERT (result
== 0);