Open System Services System Calls Reference Manual (G06.29+, H06.08+, J06.03+)
Files signal(4)
The signal-catching function can cause the process to resume in a different context by calling the
siglongjmp() function. When the siglongjmp() function is called, the process reverts to the
state saved by a corresponding call to the sigsetjmp( ) function.
Once the sigaction() function installs an action for a specific signal, it remains installed until
another action is explicitly requested by another call to the sigaction() function or until a func-
tion from the exec or tdm_exec sets of functions is called. Signal actions installed by the sig-
nal() function, however, are reset to the default action each time the signal is delivered.
If a signal action is set to a pointer to a function while the signal is pending, the signal remains
pending.
When signal-catching functions are invoked asynchronously with process execution, the
behavior of some of the functions is unspecified if they are called from a signal-catching func-
tion. The following is a list of functions that are reentrant. Therefore, applications can invoke
these functions, without restriction, from signal-catching functions:
_exit() getegid() rmdir( ) tdm_spawnp( )
access() geteuid() setgid() tcdrain()
alarm() getgid() setsid() tcflow()
cfgetispeed() getgroups() setuid( ) tcflush()
cfgetospeed() getpgrp() sigaction() tcgetattr()
cfsetispeed() getpid() sigaddset() tcgetprgp()
cfsetospeed() getppid() sigdelset() tcsendbreak( )
chdir() getuid() sigemptyset( ) tcsetattr()
chmod() kill() sigfillset() tcsetpgrp()
chown() link() sigismember() time()
close() lseek() signal() times()
creat() mkdir() sigpending() umask()
dup() mkfifo( ) sigprocmask( ) uname()
dup2( ) open() sigsuspend() unlink( )
execle() pathconf() sleep() utime()
execve() pause() stat() wait()
fcntl( ) pipe() tdm_execvep( ) waitpid()
fork() raise() tdm_execvp() write()
fpathconf() read() tdm_fork()
fstat( ) rename( ) tdm_spawn( )
All other functions are considered to be unsafe with respect to signals and should not be called
from a signal-catching function, because their behavior is undefined.
On successful return from a signal-catching function for a SIGFPE, SIGILL, SIGLIMIT,
SIGMEMERR, SIGMEMMGR, SIGNOMEM, SIGSEGV,orSIGSTK signal that was not
generated by a kill() or raise() function call, a process receives a SIGABEND signal and ter-
minates with a Guardian condition code of -11. A process deletion (-101) Guardian system mes-
sage is sent to the mom, ancestor, or job ancestor of the terminated process and indicates abnor-
mal termination.
No SIGCHLD signal is generated if a process establishes a signal-catching function for the
SIGCHLD signal while the process has a terminated child process for which it has not waited.
RELATED INFORMATION
Functions: kill(2), longjmp(3), raise(3), setjmp(3), sigaction(2), sigaddset(3), sigaltstack(2),
sigdelset(3), sigemptyset(3), sigfillset(3), sigismember(3), siglongjmp(3), signal(3), sigpend-
ing(2), sigprocmask(2), sigsetjmp(3), sigsuspend(2), spt_sigwait(2).
527186-023 Hewlett-Packard Company 11−37