askillash_array, askillash_local, askillash_server - send
a signal to an array session
SYNOPSIS
#include <sys/types.h>
#include <arraysvcs.h>
int askillash_array(asserver_t Server, const char *ArrayName,
ash_t ASH, int Sig);
int askillash_local(ash_t ASH, int Sig);
int askillash_server(asserver_t Server, ash_t ASH, int Sig);
DESCRIPTION
The askillash_array, askillash_local, and askillash_server
functions all send a signal to each of the processes that
belong to the array session specified by the array session
handle ASH at the moment the function is executed. The
signal that is to be sent is specified by Sig and is
either one from the list given in signal(2), or 0. If Sig
is 0 (the null signal), error checking is performed but no
signals are actually sent. This can be used to check the
validity of ASH.
The real or effective user ID of the sending process must
match the real, saved, or effective user ID of the receiv
ing processes, unless the effective user ID of the sending
process is superuser.
For askillash_array and askillash_server, the Server argu
ment specifies an optional array server token, which can
be used to direct the request to a specific array services
daemon. If NULL is specified instead, the request will be
processed by the default array services daemon (see
array(1) for more information on how the default array
services daemon is selected). For more details on creat
ing an array server token, see asopenserver(3X).
askillash_array will send a signal to the members of the
specified array session on each of the machines in the
array specified by ArrayName, or the default array if
ArrayName is NULL. The operation will be coordinated by
the array services daemon specified by the server token
Server.
askillash_local will only send a signal to the members of
the specified array session that are running on the same
machine as the one that executes askillash_local. Unlike
askillash_array and askillash_server, this function does
not require the array services daemon (arrayd).
askillash_server will only send a signal to the members of
the specified array session that are running on the
machine specified with the server token Server.
lowing are true:
* Sig is not a valid signal number
* Sig is SIGKILL and the specified array session contains
process 1
* The user ID of the sending process is not superuser,
and its real or effective user ID does not match the
real, saved, or effective user ID of the receiving pro
cesses
* The array services daemon (arrayd) is not currently
active (not applicable for askillash_local)
If one or more of these conditions apply only to a subset of the
processes in an array session, it is undefined whether or not
these functions will complete for some or all of processes that
are not affected.
These functions are not atomic with respect to process creation.
As a result, it is possible that a new process could join the
array session after the signalling operation has started but
before it has completed and consequently never receive the signal
itself.
NOTES
All of these functions are found in the library "libar
ray.so", and will be loaded if the option "-larray" is
used with cc(1) or ld(1).
SEE ALSO
kill(2), aserrorcode(3X), askillpid_server(3X),
asopenserver(3X), array_sessions(5).
DIAGNOSTICS
Upon successful completion, a value of 0 is returned.
Otherwise, a value of -1 is returned and aserrorcode(3x)
is set accordingly.
Man(1) output converted with
man2html