about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/bits/signal_ext.h
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2019-05-14 21:35:09 +0200
committerFlorian Weimer <fweimer@redhat.com>2019-05-14 22:55:51 +0200
commit04b261bdc13afd1f7644c756a23df3d43d400fa4 (patch)
tree760758002560f45d40b8b7d7f2ee377eda509516 /sysdeps/unix/sysv/linux/bits/signal_ext.h
parent6807f47b81bcae3874277f5480683ebeb7dfcf89 (diff)
downloadglibc-04b261bdc13afd1f7644c756a23df3d43d400fa4.tar.gz
glibc-04b261bdc13afd1f7644c756a23df3d43d400fa4.tar.xz
glibc-04b261bdc13afd1f7644c756a23df3d43d400fa4.zip
Linux: Add the tgkill function
The tgkill function is sometimes used in crash handlers.

<bits/signal_ext.h> follows the same approach as <bits/unistd_ext.h>
(which was added for the gettid system call wrapper).

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'sysdeps/unix/sysv/linux/bits/signal_ext.h')
-rw-r--r--sysdeps/unix/sysv/linux/bits/signal_ext.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/bits/signal_ext.h b/sysdeps/unix/sysv/linux/bits/signal_ext.h
new file mode 100644
index 0000000000..c07b869fab
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/bits/signal_ext.h
@@ -0,0 +1,31 @@
+/* System-specific extensions of <signal.h>, Linux version.
+   Copyright (C) 2019 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SIGNAL_H
+# error "Never include <bits/signal_ext.h> directly; use <signal.h> instead."
+#endif
+
+#ifdef __USE_GNU
+
+/* Send SIGNAL to the thread TID in the thread group (process)
+   identified by TGID.  This function behaves like kill, but also
+   fails with ESRCH if the specified TID does not belong to the
+   specified thread group.  */
+extern int tgkill (__pid_t __tgid, __pid_t __tid, int __signal);
+
+#endif /* __USE_GNU */