Commit b31ba15f authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Linus Torvalds

[PATCH] M68k: Signal updates

M68k: Update for signal changes in 2.5.60 (from Roman Zippel).
parent c3347432
......@@ -42,6 +42,7 @@
static struct fs_struct init_fs = INIT_FS;
static struct files_struct init_files = INIT_FILES;
static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
struct mm_struct init_mm = INIT_MM(init_mm);
union thread_union init_thread_union
......
......@@ -1019,7 +1019,7 @@ asmlinkage int do_signal(sigset_t *oldset, struct pt_regs *regs)
/* Restart the system call the same way as
if the process were not traced. */
struct k_sigaction *ka =
&current->sig->action[signr-1];
&current->sighand->action[signr-1];
int has_handler =
(ka->sa.sa_handler != SIG_IGN &&
ka->sa.sa_handler != SIG_DFL);
......@@ -1060,7 +1060,7 @@ asmlinkage int do_signal(sigset_t *oldset, struct pt_regs *regs)
}
}
ka = &current->sig->action[signr-1];
ka = &current->sighand->action[signr-1];
if (ka->sa.sa_handler == SIG_IGN) {
if (signr != SIGCHLD)
continue;
......@@ -1087,11 +1087,11 @@ asmlinkage int do_signal(sigset_t *oldset, struct pt_regs *regs)
/* FALLTHRU */
case SIGSTOP: {
struct signal_struct *sig;
struct sighand_struct *sighand;
current->state = TASK_STOPPED;
current->exit_code = signr;
sig = current->parent->sig;
if (sig && !(sig->action[SIGCHLD-1].sa.sa_flags
sighand = current->parent->sighand;
if (sighand && !(sighand->action[SIGCHLD-1].sa.sa_flags
& SA_NOCLDSTOP))
notify_parent(current, SIGCHLD);
schedule();
......@@ -1106,7 +1106,7 @@ asmlinkage int do_signal(sigset_t *oldset, struct pt_regs *regs)
/* FALLTHRU */
default:
sig_exit(signr, exit_code, &info);
do_group_exit(signr);
/* NOTREACHED */
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment