blob: 36c6756146352409c8eb5e623814bec610572cf2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
1. #include "ace/Reactor.h"
2. ACE_Reactor * g_reactor;
3. static sig_atomic_t finished = 0;
4. extern "C" void handler (int) { finished = 1; }
5. static const u_short PORT = ACE_DEFAULT_SERVER_PORT;
6. int main (int argc, char *argv[])
{
7. g_reactor = new ACE_Reactor;
// Acceptor factory.
8. Logging_Acceptor peer_acceptor;
9. if (peer_acceptor.open (ACE_INET_Addr (PORT)) == -1)
10. ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "open"), -1);
11. else if (g_reactor->register_handler (&peer_acceptor, ACE_Event_Handler::READ_MASK) == -1)
12. ACE_ERROR_RETURN ((LM_ERROR, "registering service with ACE_Reactor\n"), -1);
13. ACE_Sig_Action sa ((ACE_SignalHandler) handler, SIGINT);
// Run forever, performing logging service.
14. ACE_DEBUG ((LM_DEBUG, "(%P|%t) starting up server logging daemon\n"));
// Perform logging service until QUIT_HANDLER receives SIGINT.
15. while ( !finished )
16. g_reactor->handle_events ();
17. ACE_DEBUG ((LM_DEBUG, "(%P|%t) shutting down server logging daemon\n"));
18. return 0;
}
|