summaryrefslogtreecommitdiffstats
path: root/man2/rt_sigqueueinfo.2
diff options
context:
space:
mode:
Diffstat (limited to 'man2/rt_sigqueueinfo.2')
-rw-r--r--man2/rt_sigqueueinfo.2195
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)