diff options
Diffstat (limited to 'man2/rt_sigqueueinfo.2')
-rw-r--r-- | man2/rt_sigqueueinfo.2 | 195 |
1 files changed, 0 insertions, 195 deletions
diff --git a/man2/rt_sigqueueinfo.2 b/man2/rt_sigqueueinfo.2 deleted file mode 100644 index d2d2eec..0000000 --- a/man2/rt_sigqueueinfo.2 +++ /dev/null @@ -1,195 +0,0 @@ -.\" Copyright (c) 2002, 2011 Michael Kerrisk <mtk.manpages@gmail.com> -.\" -.\" SPDX-License-Identifier: Linux-man-pages-copyleft -.\" -.TH rt_sigqueueinfo 2 2023-10-31 "Linux man-pages 6.7" -.SH NAME -rt_sigqueueinfo, rt_tgsigqueueinfo \- queue a signal and data -.SH LIBRARY -Standard C library -.RI ( libc ", " \-lc ) -.SH SYNOPSIS -.nf -.BR "#include <linux/signal.h>" " /* Definition of " SI_* " constants */" -.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */" -.B #include <unistd.h> -.P -.BI "int syscall(SYS_rt_sigqueueinfo, pid_t " tgid , -.BI " int " sig ", siginfo_t *" info ); -.BI "int syscall(SYS_rt_tgsigqueueinfo, pid_t " tgid ", pid_t " tid , -.BI " int " sig ", siginfo_t *" info ); -.fi -.P -.IR Note : -There are no glibc wrappers for these system calls; see NOTES. -.SH DESCRIPTION -The -.BR rt_sigqueueinfo () -and -.BR rt_tgsigqueueinfo () -system calls are the low-level interfaces used to send a signal plus data -to a process or thread. -The receiver of the signal can obtain the accompanying data -by establishing a signal handler with the -.BR sigaction (2) -.B SA_SIGINFO -flag. -.P -These system calls are not intended for direct application use; -they are provided to allow the implementation of -.BR sigqueue (3) -and -.BR pthread_sigqueue (3). -.P -The -.BR rt_sigqueueinfo () -system call sends the signal -.I sig -to the thread group with the ID -.IR tgid . -(The term "thread group" is synonymous with "process", and -.I tid -corresponds to the traditional UNIX process ID.) -The signal will be delivered to an arbitrary member of the thread group -(i.e., one of the threads that is not currently blocking the signal). -.P -The -.I info -argument specifies the data to accompany the signal. -This argument is a pointer to a structure of type -.IR siginfo_t , -described in -.BR sigaction (2) -(and defined by including -.IR <sigaction.h> ). -The caller should set the following fields in this structure: -.TP -.I si_code -This should be one of the -.B SI_* -codes in the Linux kernel source file -.IR include/asm\-generic/siginfo.h . -If the signal is being sent to any process other than the caller itself, -the following restrictions apply: -.RS -.IP \[bu] 3 -The code can't be a value greater than or equal to zero. -In particular, it can't be -.BR SI_USER , -which is used by the kernel to indicate a signal sent by -.BR kill (2), -and nor can it be -.BR SI_KERNEL , -which is used to indicate a signal generated by the kernel. -.IP \[bu] -The code can't (since Linux 2.6.39) be -.BR SI_TKILL , -which is used by the kernel to indicate a signal sent using -.\" tkill(2) or -.BR tgkill (2). -.RE -.TP -.I si_pid -This should be set to a process ID, -typically the process ID of the sender. -.TP -.I si_uid -This should be set to a user ID, -typically the real user ID of the sender. -.TP -.I si_value -This field contains the user data to accompany the signal. -For more information, see the description of the last -.RI ( "union sigval" ) -argument of -.BR sigqueue (3). -.P -Internally, the kernel sets the -.I si_signo -field to the value specified in -.IR sig , -so that the receiver of the signal can also obtain -the signal number via that field. -.P -The -.BR rt_tgsigqueueinfo () -system call is like -.BR rt_sigqueueinfo (), -but sends the signal and data to the single thread -specified by the combination of -.IR tgid , -a thread group ID, -and -.IR tid , -a thread in that thread group. -.SH RETURN VALUE -On success, these system calls return 0. -On error, they return \-1 and -.I errno -is set to indicate the error. -.SH ERRORS -.TP -.B EAGAIN -The limit of signals which may be queued has been reached. -(See -.BR signal (7) -for further information.) -.TP -.B EINVAL -.IR sig , -.IR tgid , -or -.I tid -was invalid. -.TP -.B EPERM -The caller does not have permission to send the signal to the target. -For the required permissions, see -.BR kill (2). -.TP -.B EPERM -.I tgid -specifies a process other than the caller and -.I info\->si_code -is invalid. -.TP -.B ESRCH -.BR rt_sigqueueinfo (): -No thread group matching -.I tgid -was found. -.P -.BR rt_tgsigqueinfo (): -No thread matching -.I tgid -and -.I tid -was found. -.SH STANDARDS -Linux. -.SH HISTORY -.TP -.BR rt_sigqueueinfo () -Linux 2.2. -.TP -.BR rt_tgsigqueueinfo () -Linux 2.6.31. -.SH NOTES -Since these system calls are not intended for application use, -there are no glibc wrapper functions; use -.BR syscall (2) -in the unlikely case that you want to call them directly. -.P -As with -.BR kill (2), -the null signal (0) can be used to check if the specified process -or thread exists. -.SH SEE ALSO -.BR kill (2), -.BR pidfd_send_signal (2), -.BR sigaction (2), -.BR sigprocmask (2), -.BR tgkill (2), -.BR pthread_sigqueue (3), -.BR sigqueue (3), -.BR signal (7) |