Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / 一步一步学Linux C:sigsuspend 执行过程分析

用于在接受到某个信号之前,临时用mask替换进程的信号掩码,并暂停进程执行,直到收到信号为止。
  1. /*The sigsuspend() function replaces the current signal mask of the calling thread with the set of signals pointed  
  2.      to by sigmask and then suspends the thread until delivery of a signal whose action is either to execute a signal-catching  
  3.     function or to terminate the process. This will not cause any other signals that may have been pending on the process to  
  4.     become pending on the thread. 
  5. If the action is to terminate the process then sigsuspend() will never return. If the action is to execute a signal-catching  
  6.     function, thensigsuspend() will return after the signal-catching function returns, with the signal mask restored to the set  
  7.     that existed prior to thesigsuspend() call. 
  8. It is not possible to block signals that cannot be ignored. This is enforced by the system without causing an error to be indicated.*/