[PATCH] Third version of signal changes for thread groups
authorDave McCracken <dmccr@us.ibm.com>
Wed, 6 Feb 2002 02:39:27 +0000 (18:39 -0800)
committerLinus Torvalds <torvalds@penguin.transmeta.com>
Wed, 6 Feb 2002 02:39:27 +0000 (18:39 -0800)
commit676952b9bd85d03929922c101352a5677979f9e6
treeb2e05cfcaa27cca4b004e21d0c04ef35f630b653
parent040fdeaf4cd38a0c0154eef22e085d0efd2f3219
[PATCH] Third version of signal changes for thread groups

During the course of developing our pthread library (the NGPT pthread
library) it became clear we needed some kernel support for handling
signals.  This patch helps the library by redirecting all signals sent
to tasks in a thread group to the thread group leader.  It also defines
the tkill() system call so the library can signal a specific task if
necessary.

Given that as far as I know NGPT is the only user of thread groups, and
that this change would benefit any other user of thread groups, I'm
submitting this for inclusion in the 2.5 kernel.

Note that this patch also adds support for sys_gettid() for the
architectures that don't have it.  While this could have been split into a
spearate patch, it would create conflicts since this patch also adds
sys_tkill(), so I felt it was cleaner to leave them together.

Dave McCracken

======================================================================
Dave McCracken          IBM Linux Base Kernel Team      1-512-838-3059
dmccr@us.ibm.com                                        T/L   678-3059
66 files changed:
arch/alpha/kernel/entry.S
arch/alpha/kernel/signal.c
arch/arm/kernel/calls.S
arch/arm/kernel/signal.c
arch/cris/kernel/entry.S
arch/cris/kernel/signal.c
arch/i386/kernel/entry.S
arch/i386/kernel/signal.c
arch/ia64/kernel/entry.S
arch/ia64/kernel/signal.c
arch/m68k/kernel/entry.S
arch/m68k/kernel/signal.c
arch/mips/kernel/signal.c
arch/mips/kernel/syscalls.h
arch/mips64/kernel/scall_64.S
arch/mips64/kernel/scall_o32.S
arch/mips64/kernel/signal.c
arch/mips64/kernel/signal32.c
arch/parisc/kernel/signal.c
arch/parisc/kernel/syscall.S
arch/ppc/kernel/misc.S
arch/ppc/kernel/signal.c
arch/s390/kernel/entry.S
arch/s390/kernel/signal.c
arch/s390x/kernel/entry.S
arch/s390x/kernel/signal.c
arch/s390x/kernel/signal32.c
arch/sh/kernel/entry.S
arch/sh/kernel/signal.c
arch/sparc/kernel/signal.c
arch/sparc/kernel/systbls.S
arch/sparc64/kernel/signal.c
arch/sparc64/kernel/signal32.c
arch/sparc64/kernel/systbls.S
include/asm-alpha/siginfo.h
include/asm-alpha/unistd.h
include/asm-arm/siginfo.h
include/asm-cris/siginfo.h
include/asm-cris/unistd.h
include/asm-i386/siginfo.h
include/asm-i386/unistd.h
include/asm-ia64/siginfo.h
include/asm-ia64/unistd.h
include/asm-m68k/siginfo.h
include/asm-m68k/unistd.h
include/asm-mips/siginfo.h
include/asm-mips/unistd.h
include/asm-mips64/siginfo.h
include/asm-mips64/unistd.h
include/asm-parisc/siginfo.h
include/asm-parisc/unistd.h
include/asm-ppc/siginfo.h
include/asm-ppc/unistd.h
include/asm-s390/siginfo.h
include/asm-s390/unistd.h
include/asm-s390x/siginfo.h
include/asm-s390x/unistd.h
include/asm-sh/siginfo.h
include/asm-sh/unistd.h
include/asm-sparc/siginfo.h
include/asm-sparc/unistd.h
include/asm-sparc64/siginfo.h
include/asm-sparc64/unistd.h
include/linux/sched.h
kernel/fork.c
kernel/signal.c