diff --git a/[refs] b/[refs] index 9a09af740abf..49d828e1dd51 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4a8342d233a39ee582e9f7260e12d2f5fd194a05 +refs/heads/master: 5acbc5cb507e6c381b70093b1081854708e82b16 diff --git a/trunk/kernel/signal.c b/trunk/kernel/signal.c index 5a274705ba19..619b027e92b5 100644 --- a/trunk/kernel/signal.c +++ b/trunk/kernel/signal.c @@ -1763,7 +1763,8 @@ do_signal_stop(int signr) * stop is always done with the siglock held, * so this check has no races. */ - if (t->state < TASK_STOPPED) { + if (!t->exit_state && + !(t->state & (TASK_STOPPED|TASK_TRACED))) { stop_count++; signal_wake_up(t, 0); }