Hallo, dies ist ein Test.
PWD: /www/data-lst1/unixsoft/unixsoft/kaempfer/.public_html
Running in File Mode
Relative path: ./../../../../../../usr/man/man3c/./sigqueue.3c
Real path: /usr/share/man/man3c/sigqueue.3c
Zurück
'\" te .\" Copyright (c) 1989, AT&T. All rights reserved. .\" Copyright (c) 1992, The X/Open Company Ltd. All rights reserved. .\" Portions Copyright (c) 2008, 2020, Oracle and/or its affiliates. .\" Oracle gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/. .\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html. This notice shall appear on any product containing this material. .TH sigqueue 3C "17 Mar 2015" "Oracle Solaris 11.4" "Standard C Library Functions" .SH NAME sigqueue \- queue a signal to a process .SH SYNOPSIS .LP .nf #include <sys/types.h> #include <signal.h> \fBint\fR \fBsigqueue\fR(\fBpid_t\fR \fIpid\fR, \fBint\fR \fIsigno\fR, \fBconst union sigval\fR \fIvalue\fR); .fi .LP .nf \fBint\fR \fBsigqueue_wait\fR(\fBpid_t\fR \fIpid\fR, \fBint\fR \fIsigno\fR, \fBconst union sigval\fR \fIvalue\fR, const struct timespec *\fItimeout\fR); .fi .SH DESCRIPTION .sp .LP The \fBsigqueue()\fR and \fBsigqueue_wait()\fR functions cause the signal specified by \fIsigno\fR to be sent with the value specified by \fIvalue\fR to the process specified by \fIpid\fR. If \fIsigno\fR is 0 (the null signal), error checking is performed but no signal is actually sent. The null signal can be used to check the validity of \fIpid\fR. .sp .LP The conditions required for a process to have permission to queue a signal to another process are the same as for the \fBkill\fR(2) function. .sp .LP The \fBsigqueue()\fR function returns immediately. In contrast, \fBsigqueue_wait()\fR will wait until enough resources become available to queue the signal if the caller has the maximum number of queued signals allowed per process pending. If the \fItimeout\fR argument is not \fINULL\fR, \fBsigqueue_wait()\fR will wait up to the specified time for the necessary resources to become available. .sp .LP If \fBSA_SIGINFO\fR is set for \fIsigno\fR and if the resources were available to queue the signal, the signal is queued and sent to the receiving process. If \fBSA_SIGINFO\fR is not set for \fIsigno\fR, then \fIsigno\fR is sent at least once to the receiving process; it is unspecified whether \fIvalue\fR will be sent to the receiving process as a result of this call. .sp .LP If the value of \fIpid\fR causes \fIsigno\fR to be generated for the sending process, and if \fIsigno\fR is not blocked for the calling thread and if no other thread has \fIsigno\fR unblocked or is waiting in a \fBsigwait\fR(2) function for \fIsigno\fR, either \fIsigno\fR or at least the pending, unblocked signal will be delivered to the calling thread before the \fBsigqueue()\fR function returns. Should any of multiple pending signals in the range \fBSIGRTMIN\fR to \fBSIGRTMAX\fR be selected for delivery, it will be the lowest numbered one. The selection order between realtime and non-realtime signals, or between multiple pending non-realtime signals, is unspecified. .SH RETURN VALUES .sp .LP Upon successful completion, the specified signal will have been queued, and the \fBsigqueue()\fR and \fBsigqueue_wait()\fR functions return \fB0\fR. Otherwise, the functions return \fB\(mi1\fR and set \fIerrno\fR to indicate the error. .SH ERRORS .sp .LP The \fBsigqueue()\fR and \fBsigqueue_wait()\fR functions will fail if: .sp .ne 2 .mk .na \fB\fBEAGAIN\fR\fR .ad .RS 10n .rt No resources are available to queue the signal within the specified time, if any. The process has already queued its maximum number of signals that are still pending at the receiver(s), or a system wide resource limit has been exceeded. The maximum number of outstanding queued signals that a process can have is defined by its \fBprocess.max-siqueue-size\fR resource control. .RE .sp .ne 2 .mk .na \fB\fBEINVAL\fR\fR .ad .RS 10n .rt The value of \fIsigno\fR is an invalid or unsupported signal number or the timeout argument specifies an invalid time. .RE .sp .ne 2 .mk .na \fB\fBEPERM\fR\fR .ad .RS 10n .rt The process does not have the appropriate privilege to send the signal to the receiving process. .RE .sp .ne 2 .mk .na \fB\fBESRCH\fR\fR .ad .RS 10n .rt The process \fIpid\fR does not exist. .RE .sp .LP The \fBsigqueue_wait()\fR function will fail if: .sp .ne 2 .mk .na \fB\fBEFAULT\fR\fR .ad .RS 10n .rt The \fItimeout\fR argument to \fBsigqueue_wait()\fR is an invalid address. .RE .sp .ne 2 .mk .na \fB\fBEINTR\fR\fR .ad .RS 10n .rt The \fBsigqueue_wait()\fR function was interrupted while waiting. .RE .SH ATTRIBUTES .sp .LP See \fBattributes\fR(7) for descriptions of the following attributes: .sp .TS tab( ) box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . ATTRIBUTE TYPE ATTRIBUTE VALUE _ Interface Stability Committed _ MT-Level Async-Signal-Safe _ Standard See \fBstandards\fR(7). .TE .sp .SH SEE ALSO .sp .LP \fBkill\fR(2), \fBpthread_kill\fR(3C), \fBpthread_sigqueue\fR(3C), \fBsigwaitinfo\fR(3C), \fBsiginfo.h\fR(3HEAD), \fBsignal.h\fR(3HEAD), \fBattributes\fR(7), \fBresource-controls\fR(7), \fBstandards\fR(7)