⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sighandler.h

📁 支持组件模型CCM的开源中间件-mico
💻 H
字号:
#ifndef __SIGHANDLER_H__#define __SIGHANDLER_H__namespace MICOMT {  class SigHandler : public MICOMT::Thread {  private:     sigset_t old_mask, new_mask;  public:    typedef enum { Terminate, Continue } Action;    SigHandler () {      sigemptyset (&new_mask);    }    inline void AddSignal (MICO_Long sig) {      sigaddset (&new_mask, sig);    }    inline void DelSignal (MICO_Long sig) {      sigdelset (&new_mask, sig);    }    virtual void _run (void *arg) {      int sig;      do      {        pthread_sigmask (SIG_BLOCK, &new_mask, &old_mask);        sigwait (&new_mask, &sig);        pthread_sigmask (SIG_UNBLOCK, &old_mask, &new_mask);      } while (sighandler (sig, arg) == Continue);    }    virtual SigHandler::Action sighandler (int sig, void *arg) = 0;  };}; // MICOMT#endif // __SIGHANDLER_H__

⌨️ 快捷键说明

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