一步一步学Linux C:sigsuspend 执行过程分析
一步一步学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.*/
|
评论暂时关闭