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