Open System Services System Calls Reference Manual (G06.25+, H06.03+)
Files signal(4)
The signal-catching function can cause the process to resume in a different context by calling the
longjmp( ) function. When the longjmp() function is called, the process reverts to the state
saved by a corresponding call to the setjmp( ) 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), sigdelset(3),
sigemptyset(3), sigfillset(3), sigismember(3), siglongjmp(3), signal(3), sigpending(2), sigproc-
mask(2), sigsetjmp(3), sigsuspend(2), sigwait(2).
527186-003 Hewlett-Packard Company 11−25