diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-04-28 02:04:15 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-06-01 12:58:52 -0400 |
commit | efee984c27b67e3ebef40410f35671997441b57c (patch) | |
tree | 53457dba2338f853d34e1754e7f7f960e4a29482 /arch/sh/kernel | |
parent | 17440f171e28e86cc21a4c8fd1fa3c561503f80e (diff) |
new helper: signal_delivered()
Does block_sigmask() + tracehook_signal_handler(); called when
sigframe has been successfully built. All architectures converted
to it; block_sigmask() itself is gone now (merged into this one).
I'm still not too happy with the signature, but that's a separate
story (IMO we need a structure that would contain signal number +
siginfo + k_sigaction, so that get_signal_to_deliver() would fill one,
signal_delivered(), handle_signal() and probably setup...frame() -
take one).
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/sh/kernel')
-rw-r--r-- | arch/sh/kernel/signal_32.c | 3 | ||||
-rw-r--r-- | arch/sh/kernel/signal_64.c | 3 |
2 files changed, 2 insertions, 4 deletions
diff --git a/arch/sh/kernel/signal_32.c b/arch/sh/kernel/signal_32.c index e4a531414e1..d6b7b6154f8 100644 --- a/arch/sh/kernel/signal_32.c +++ b/arch/sh/kernel/signal_32.c | |||
@@ -533,8 +533,7 @@ handle_signal(unsigned long sig, struct k_sigaction *ka, siginfo_t *info, | |||
533 | 533 | ||
534 | if (ret) | 534 | if (ret) |
535 | return; | 535 | return; |
536 | block_sigmask(ka, sig); | 536 | signal_delivered(sig, info, ka, regs, |
537 | tracehook_signal_handler(sig, info, ka, regs, | ||
538 | test_thread_flag(TIF_SINGLESTEP)); | 537 | test_thread_flag(TIF_SINGLESTEP)); |
539 | } | 538 | } |
540 | 539 | ||
diff --git a/arch/sh/kernel/signal_64.c b/arch/sh/kernel/signal_64.c index 75960ef6c1d..6b5b3dfe886 100644 --- a/arch/sh/kernel/signal_64.c +++ b/arch/sh/kernel/signal_64.c | |||
@@ -650,8 +650,7 @@ handle_signal(unsigned long sig, siginfo_t *info, struct k_sigaction *ka, | |||
650 | if (ret) | 650 | if (ret) |
651 | return; | 651 | return; |
652 | 652 | ||
653 | block_sigmask(ka, sig); | 653 | signal_delivered(sig, info, ka, regs, |
654 | tracehook_signal_handler(sig, info, ka, regs, | ||
655 | test_thread_flag(TIF_SINGLESTEP)); | 654 | test_thread_flag(TIF_SINGLESTEP)); |
656 | } | 655 | } |
657 | 656 | ||