HPUX bsdproc[2]

bsdproc(2) bsdproc(2)
NAME
killpg, getpgrp, setpgrp, sigvec, signal - 4.2 BSD-compatible process
control facilities
SYNOPSIS
#include <signal.h>
int killpg(int pgrp, int sig);
int getpgrp(int pid);
int setpgrp(int pid, int pgrp);
int sigvec(
int sig,
struct sigvec *vec,
struct sigvec *ovec
);
void (*signal(int sig, void (*func)(int)))(int);
DESCRIPTION
These calls simulate (and are provided for backward compatibility
with) functions of the same name in the 4.2 Berkeley Software
Distribution.
This version of setpgrp() is equivalent to the system call
setpgid(pid, pgrp) (see setpgid(2)).
This version of getpgrp() is equivalent to the system call
getpgrp2(pid) (see getpid(2)).
killpg() is equivalent to the system call kill(-pgrp, sig) (see
kill(2)).
sigvec() is equivalent to the system call sigvector(sig, vec, ovec)
(see sigvector(2)), except for the following:
When SIGCHLD or SIGCLD is used and vec specifies a catching
function, the routine acts as if the SV_BSDSIG flag were included
in the sv_flags field of vec.
The name sv_onstack can be used as a synonym for the name of the
sv_flags field of vec and ovec.
If vec is not a null pointer and the value of (vec->sv_flags & 1)
is "true", the routine acts as if the SV_ONSTACK flag were set.
If ovec is not a null pointer, the flag word returned in
ovec->sv_flags (and therefore the value of ovec->sv_onstack) will
be equal to 1 if the system was reserving space for processing of
Hewlett-Packard Company - 1 - HP-UX Release 9.0: August 1992
bsdproc(2) bsdproc(2)
that signal because of a call to sigspace(2), and 0 if not. The
SV_BSDSIG bit in the value placed in ovec->sv_flags is always
clear.
If the reception of a caught signal occurs during certain system
calls, the call will always be restarted, regardless of the
return value from a catching function installed with sigvec().
The affected calls are wait(2), semop(2), msgsnd(2), msgrcv(2),
and read(2) or write(2) on a slow device (such as a terminal or
pipe, but not a file). Other interrupted system calls are not
restarted.
This version of signal() has the same effect as sigvec(sig,
vec, ovec), where vec->sv_handler is equal to func, vec->sv_mask is
equal to 0, and vec->sv_flags is equal to 0. signal() returns the
value that would be stored in ovec->sv_handler if the equivalent
sigvec() call would have succeeded. Otherwise, signal() returns -1
and errno is set to indicate the reason as it would have been set by
the equivalent call to sigvec().
These functions can be linked into a program by giving the -lBSD
option to ld(1).
WARNINGS
While the 4.3 BSD release defined extensions to some of the interfaces
described here, only the 4.2 BSD interfaces are emulated by this
package.
bsdproc() should not be used in conjunction with the facilities
described under sigset(2V).
AUTHOR
bsdproc() was developed by HP and the University of California,
Berkeley.
SEE ALSO
ld(1), kill(2), getpid(2), msgsnd(2), msgrcv(2), read(2), semop(2),
setpgid(2), setsid(2), sigvector(2), wait(2), write(2), sigset(2V),
sigstack(2), signal(5).
Hewlett-Packard Company - 2 - HP-UX Release 9.0: August 1992