lkml.org 
[lkml]   [2012]   [Feb]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 30/40] sh: No need to reset handler if SA_ONESHOT
    Date
    From: Matt Fleming <matt.fleming@intel.com>

    get_signal_to_deliver() already resets the signal handler if
    SA_ONESHOT is set in ka->sa.sa_flags, there's no need to do it again
    in handle_signal(). Furthermore, because we were modifying
    ka->sa.sa_handler (which is a copy of sighand->action[]) instead of
    sighand->action[] the original code had no effect on signal delivery.

    Acked-by: Oleg Nesterov <oleg@redhat.com>
    Cc: Paul Mundt <lethal@linux-sh.org>
    Cc: linux-sh@vger.kernel.org
    Signed-off-by: Matt Fleming <matt.fleming@intel.com>
    ---
    arch/sh/kernel/signal_32.c | 3 ---
    arch/sh/kernel/signal_64.c | 3 ---
    2 files changed, 0 insertions(+), 6 deletions(-)

    diff --git a/arch/sh/kernel/signal_32.c b/arch/sh/kernel/signal_32.c
    index a7a55ed..1055146 100644
    --- a/arch/sh/kernel/signal_32.c
    +++ b/arch/sh/kernel/signal_32.c
    @@ -548,9 +548,6 @@ handle_signal(unsigned long sig, struct k_sigaction *ka, siginfo_t *info,
    else
    ret = setup_frame(sig, ka, oldset, regs);

    - if (ka->sa.sa_flags & SA_ONESHOT)
    - ka->sa.sa_handler = SIG_DFL;
    -
    if (ret == 0) {
    spin_lock_irq(&current->sighand->siglock);
    sigorsets(&current->blocked,&current->blocked,&ka->sa.sa_mask);
    diff --git a/arch/sh/kernel/signal_64.c b/arch/sh/kernel/signal_64.c
    index 6b5603f..7b9278d 100644
    --- a/arch/sh/kernel/signal_64.c
    +++ b/arch/sh/kernel/signal_64.c
    @@ -734,9 +734,6 @@ handle_signal(unsigned long sig, siginfo_t *info, struct k_sigaction *ka,
    else
    ret = setup_frame(sig, ka, oldset, regs);

    - if (ka->sa.sa_flags & SA_ONESHOT)
    - ka->sa.sa_handler = SIG_DFL;
    -
    if (ret == 0) {
    spin_lock_irq(&current->sighand->siglock);
    sigorsets(&current->blocked,&current->blocked,&ka->sa.sa_mask);
    --
    1.7.4.4


    \
     
     \ /
      Last update: 2012-02-14 12:49    [W:0.026 / U:1.184 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site