]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
When entering the scheduler from the signal handler, tell
authordeischen <deischen@FreeBSD.org>
Tue, 14 Nov 2000 20:00:19 +0000 (20:00 +0000)
committerdeischen <deischen@FreeBSD.org>
Tue, 14 Nov 2000 20:00:19 +0000 (20:00 +0000)
commit5ed7dea44c3c8564f41807299e6844d6d3adc3fe
tree72b03470b2ccceba1843c58253e889d8fb340d45
parent5f42d57882aa1072ce12350297665532c3ad1b61
When entering the scheduler from the signal handler, tell
the kernel to (re)use the alternate signal stack.  In this
case, we don't return normally from the signal handler,
so the kernel still thinks we are using the signal stack.
The fixes a nasty bug where the signal handler can start
fiddling with the stack of a thread while the handler is
actually running on the same stack.

MFC candidate
12 files changed:
lib/libc_r/uthread/pthread_private.h
lib/libc_r/uthread/uthread_init.c
lib/libc_r/uthread/uthread_kern.c
lib/libc_r/uthread/uthread_sig.c
lib/libkse/thread/thr_init.c
lib/libkse/thread/thr_kern.c
lib/libkse/thread/thr_private.h
lib/libkse/thread/thr_sig.c
lib/libpthread/thread/thr_init.c
lib/libpthread/thread/thr_kern.c
lib/libpthread/thread/thr_private.h
lib/libpthread/thread/thr_sig.c