linux rhirst
Richard Hirst
rhirst@puffin.external.hp.com
Wed, 22 Nov 2000 09:51:34 -0700
CVSROOT: /home/cvs/parisc
Module name: linux
Changes by: rhirst 00/11/22 09:51:34
Modified files:
arch/parisc/kernel: entry.S signal.c syscall.S
Log message:
Fix signal handling. There were major problems if a signal was received
while a process was running (as oppsoed to being blocked on a syscall).
The return path from the signal handler was via rt_sigreturn and the
syscall_exit path, which cannot restore registers correctly. We now
check the syscall number and, if rt_sigreturn and the process was running,
we return via the intr_return path rather than syscall_exit. This code
will change again soon as I make all syscalls for traced processes return
via intr_return (so we can twiddle with psw bits cleanly).