📄 exithandler.cpp
字号:
// ExitHandler.cpp,v 1.1 2004/01/01 21:01:00 shuston Exp// Listing 1 code/ch13#include "ace/Task.h"#include "ace/Log_Msg.h"class ExitHandler : public ACE_At_Thread_Exit{public: virtual void apply (void) { ACE_DEBUG ((LM_INFO, ACE_TEXT ("(%t) is exiting \n"))); // Shut down all devices. }};// Listing 1// Listing 2 code/ch13class HA_CommandHandler : public ACE_Task_Base{public: HA_CommandHandler(ExitHandler& eh) : eh_(eh) { } virtual int svc (void) { ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) starting up \n"))); this->thr_mgr ()->at_exit (eh_); // Do something. // Forcefully exit. ACE_Thread::exit (); // NOT REACHED return 0; }private: ExitHandler& eh_;};// Listing 2// Listing 3 code/ch13int ACE_TMAIN (int, ACE_TCHAR *[]){ ExitHandler eh; HA_CommandHandler handler (eh); handler.activate (); ACE_Thread_Manager::instance ()->wait (); return 0;}// Listing 3#if 0// Listing 4 code/ch13int ACE_TMAIN (int, ACE_TCHAR *[]){ ExitHandler eh; ACE_Thread_Manager tm; HA_CommandHandler handler (eh); handler.thr_mgr (&tm); handler.activate (); tm.wait(); return 0;}// Listing 4#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -