sys_sigsuspend [arch/i386/kernel/signal.c]
Temporarily replaces the signal mask of the calling process with the mask given by edx and then suspends the process until delivery of a signal whose action is to invoke a signal handler or to terminate a process. If the signal terminates the process, then assessing does not return. If the signal is caught, then sys_sigsuspend returns after the signal handler returns, and the signal mask is restored to the state before the call to sys_sigsuspend. Normally, sys_sigsuspend is used in conjunction with sys_sigprocmask in order to prevent delivery of a signal during the execution of a critical code section. The caller first blocks the signals with sys_sigprocmask. When the critical code has completed, the caller then waits for the signals by calling sys_sigsuspend with the signal mask that was returned by sys_sigprocmask. Arguments
eax | 72
ebx | Currently unused.
ecx | Currently unused.
edx | Signal mask. It is not possible to block SIGKILL or SIGSTOP; specifying these signals in edx, has no effect on the process's signal mask.
Return values Return value is always -ERESTARTNOHAND. Remarks n/a Compatibility n/a