askillash_array(3x)
askillash_array, askillash_local, askillash_server - send a signal to an array session
Showing IRIX 6.5.30 (default release). Unchanged since IRIX 6.5.
NAME 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 receiving processes, unless the effective user ID of the sending process is superuser. For askillash_array and askillash_server, the Server argument 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 creating 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. All three functions will fail if one or more of the following 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 processes * 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 "libarray.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.