sigguard.cpp

来自「ace开发环境 用来开发网络程序 其运用了设计模式、多平台、C++等多种知识」· C++ 代码 · 共 44 行

CPP
44
字号
// $Id: SigGuard.cpp 73555 2006-07-17 06:28:31Z ossama $#include "ace/OS_NS_unistd.h"#include "ace/Log_Msg.h"#include "ace/Signal.h"#include "ace/Sig_Handler.h"// Listing 1class MySignalHandler : public ACE_Event_Handler  {  public:    virtual int handle_signal(int signo,                              siginfo_t * = 0, ucontext_t * = 0)    {      ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Signal %d\n"), signo));      return 0;    }  };int ACE_TMAIN (int, ACE_TCHAR *[]){  MySignalHandler sighandler;  ACE_Sig_Handler sh;  sh.register_handler (SIGUSR1, &sighandler);  ACE_Sig_Set ss;  ss.sig_add (SIGUSR1);  ACE_Sig_Guard guard (&ss);  {    ACE_DEBUG ((LM_DEBUG,                ACE_TEXT ("Entering critical region\n")));    ACE_OS::sleep (10);    ACE_DEBUG ((LM_DEBUG,                ACE_TEXT ("Leaving  critical region\n")));  }  // Do other stuff.  return 0;}// Listing 1

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?