about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-07-08 03:40:49 +0000
committerUlrich Drepper <drepper@redhat.com>2003-07-08 03:40:49 +0000
commitdb54f488ee24b14027c485e0005950dfdd5ef885 (patch)
tree2a07a1746c1ffa758a34484f65263c737818d162 /sysdeps
parent5fee5ad11c5307141f76aa7ea28ec1e1b6418fea (diff)
downloadglibc-db54f488ee24b14027c485e0005950dfdd5ef885.tar.gz
glibc-db54f488ee24b14027c485e0005950dfdd5ef885.tar.xz
glibc-db54f488ee24b14027c485e0005950dfdd5ef885.zip
Update.
2003-07-07  Ulrich Drepper  <drepper@redhat.com>

	* descr.h (struct pthread): Add pid field.
	* allocatestack.c (allocate_stack): Initialize pid field in descriptor.
	(__reclaim_stacks): Likewise.
	* init.c (sigcancel_handler): If __ASSUME_CORRECT_SI_PID is defined
	also check for PID of the signal source.
	(__pthread_initialize_minimal_internal): Also initialize pid field
	of initial thread's descriptor.
	* pthread_cancel.c: Use tgkill instead of tkill if possible.
	* sysdeps/unix/sysv/linux/fork.c: Likewise.
	* sysdeps/unix/sysv/linux/pt-raise.c: Likewise.
	* sysdeps/unix/sysv/linux/pthread_kill.c: Likewise.
	* sysdeps/unix/sysv/linux/raise.c: Likewise.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/unix/sysv/linux/kernel-features.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h
index 256e77b882..4d19238c0a 100644
--- a/sysdeps/unix/sysv/linux/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/kernel-features.h
@@ -333,3 +333,15 @@
 #if __LINUX_KERNEL_VERSION >= 132426
 # define __ASSUME_AT_SECURE	1
 #endif
+
+/* Starting with the 2.5.75 kernel the kernel fills in the correct value
+   in the si_pid field passed as part of the siginfo_t struct to signal
+   handlers.  */
+#if __LINUX_KERNEL_VERSION >= 132427
+# define __ASSUME_CORRECT_SI_PID	1
+#endif
+
+/* The tgkill syscall was instroduced for i386 in 2.5.75.  */
+#if __LINUX_KERNEL_VERSION >= 132427 && defined __i386__
+# define __ASSUME_TGKILL	1
+#endif