tkill.2: Document EAGAIN error for real-time signals

See __send_signal() in kernel/signal.c:

if (sig >= SIGRTMIN && info->si_code != SI_USER) {
  /*
   * Queue overflow, abort.  We may abort if the
   * signal was rt and sent by user using something
   * other than kill().
   */
  result = TRACE_SIGNAL_OVERFLOW_FAIL;
  ret = -EAGAIN;
  goto ret;
}

(kill() uses SI_USER, but tkill() and tgkill() use SI_TKILL.)

Signed-off-by: Jann Horn <jannh@google.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Jann Horn 2017-02-06 16:57:48 +01:00 committed by Michael Kerrisk
parent 9aa10c77bf
commit f5a0865dc3
1 changed files with 12 additions and 0 deletions

View File

@ -103,6 +103,18 @@ For the required permissions, see
.TP
.B ESRCH
No process with the specified thread ID (and thread group ID) exists.
.TP
.B EAGAIN
The
.B RLIMIT_SIGPENDING
resource limit was reached and
.I sig
is a real-time signal.
.TP
.B EAGAIN
Insufficient kernel memory was available and
.I sig
is a real-time signal.
.SH VERSIONS
.BR tkill ()
is supported since Linux 2.4.19 / 2.5.4.