Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bf343dfd authored by Al Viro's avatar Al Viro
Browse files

don't call try_to_freeze() from do_signal()



get_signal_to_deliver() will handle it itself

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent a610d6e6
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -285,9 +285,6 @@ asmlinkage void do_signal(struct pt_regs *regs)

	current->thread.esp0 = (unsigned long)regs;

	if (try_to_freeze())
		goto no_signal;

	signr = get_signal_to_deliver(&info, &ka, regs, NULL);
	if (signr > 0) {
		/* Whee!  Actually deliver the signal.  */
@@ -295,7 +292,6 @@ asmlinkage void do_signal(struct pt_regs *regs)
		return;
	}

 no_signal:
	/* Did we come from a system call? */
	if (regs->orig_p0 >= 0)
		/* Restart the system call - no handlers present */
+0 −4
Original line number Diff line number Diff line
@@ -491,16 +491,12 @@ static void do_signal(void)
	if (!user_mode(__frame))
		return;

	if (try_to_freeze())
		goto no_signal;

	signr = get_signal_to_deliver(&info, &ka, __frame, NULL);
	if (signr > 0) {
		handle_signal(signr, &info, &ka);
		return;
	}

no_signal:
	/* Did we come from a system call? */
	if (__frame->syscallno != -1) {
		/* Restart the system call - no handlers present */
+0 −4
Original line number Diff line number Diff line
@@ -466,9 +466,6 @@ statis void do_signal(struct pt_regs *regs)
	if ((regs->ccr & 0x10))
		return;

	if (try_to_freeze())
		goto no_signal;

	current->thread.esp0 = (unsigned long) regs;

	signr = get_signal_to_deliver(&info, &ka, regs, NULL);
@@ -477,7 +474,6 @@ statis void do_signal(struct pt_regs *regs)
		handle_signal(signr, &info, &ka, regs);
		return;
	}
 no_signal:
	/* Did we come from a system call? */
	if (regs->orig_er0 >= 0) {
		/* Restart the system call - no handlers present */
+0 −4
Original line number Diff line number Diff line
@@ -205,9 +205,6 @@ static void do_signal(struct pt_regs *regs)
	if (!user_mode(regs))
		return;

	if (try_to_freeze())
		goto no_signal;

	signo = get_signal_to_deliver(&info, &sigact, regs, NULL);

	if (signo > 0) {
@@ -215,7 +212,6 @@ static void do_signal(struct pt_regs *regs)
		return;
	}

no_signal:
	/*
	 * If we came from a system call, handle the restart.
	 */
+0 −4
Original line number Diff line number Diff line
@@ -320,9 +320,6 @@ static void do_signal(struct pt_regs *regs)
	if (!user_mode(regs))
		return;

	if (try_to_freeze()) 
		goto no_signal;

	signr = get_signal_to_deliver(&info, &ka, regs, NULL);
	if (signr > 0) {
		/* Re-enable any watchpoints before delivering the
@@ -337,7 +334,6 @@ static void do_signal(struct pt_regs *regs)
		return;
	}

 no_signal:
	/* Did we come from a system call? */
	if (regs->syscall_nr >= 0) {
		/* Restart the system call - no handlers present */
Loading