Changes or retrieves the signal mask of the set of currently blocked signals.
Arguments
eax |
175 |
ebx |
Operation to perform. It may be one of the following values:
SIG_BLOCK |
The set of blocked signals is the union of the current set and the value pointed by ecx |
SIG_UNBLOCK |
The signals specified in the value pointed by ecx are removed from the current set of blocked signals. It is legal to attempt to unblock a signal which is not blocked. |
SIG_SETMASK |
The set of blocked signals is set to the argument pointed by ecx. |
|
|
ecx |
Pointer to a value specifying the signal mask. If ecx is null, the signal mask is unchanged and ebx is ignored. |
edx |
Pointer to a integer which will receive the previous value of the signal mask (this argument may be null). |
esi |
Size of the sigset_t (see include/asm-i386/signal.h). |
Return values
If the system call succeeds the return value is 0.
If the system call fails the return value is one of the following errno values:
-EINVAL |
The value specified in ebx was invalid. |
-EFAULT |
ecx or edx points to memory which is not a valid part of the process address space. |
|
Remarks
The use of sys_sigprocmask is unspecified in a multithreaded process.
It is not possible to block SIGKILL or SIGSTOP. Attempts to do so are silently ignored.
If SIGBUS, SIGFPE, SIGILL, or SIGSEGV are generated while they are blocked, the result is undefined, unless the signal was generated by the sys_kill.
Compatibility
n/a |