一步一步学Linux C:sigsuspend 执行过程分析

用于在接受到某个信号之前,临时用mask替换进程的信号掩码,并暂停进程执行,直到收到信号为止。

  /*The sigsuspend() function replaces the current signal mask of the calling thread with the set of signals pointed        to by sigmask and then suspends the thread until delivery of a signal whose action is either to execute a signal-catching       function or to terminate the process. This will not cause any other signals that may have been pending on the process to       become pending on the thread.    If the action is to terminate the process then sigsuspend() will never return. If the action is to execute a signal-catching       function, thensigsuspend() will return after the signal-catching function returns, with the signal mask restored to the set       that existed prior to thesigsuspend() call.    It is not possible to block signals that cannot be ignored. This is enforced by the system without causing an error to be indicated.*/  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wywwjy.html