Linux被动等待信号

时间:2017-04-09 12:49:52

标签: c linux signals sleep

我正在尝试让进程等待,如果不满足某些条件。如果条件随着时间的推移而变化,我希望进程醒来并继续完成它的工作。

我试着这样做:

  ... if(condition_false)
  {
   signal(SIGUSR1,handler);
   pause();
  } ...

  function handler(int signum)
  {
   if(signum == SIGUSR1)
   {
    //do stuff...
   }
  }

  kill(proc_pid,SIGUSR1);

问题是,我的代码看起来太复杂,暂停不能按预期工作。另外,如果信号触发并且处理程序不直接提供此选项,我想打印消息。

所以我的问题是:有没有替代这种睡眠/唤醒方法?

0 个答案:

没有答案