diff options
Diffstat (limited to 'kernel/signal.c')
-rw-r--r-- | kernel/signal.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/kernel/signal.c b/kernel/signal.c index 4a9d763f8922..1814e68e4de3 100644 --- a/kernel/signal.c +++ b/kernel/signal.c | |||
@@ -1840,11 +1840,6 @@ relock: | |||
1840 | 1840 | ||
1841 | for (;;) { | 1841 | for (;;) { |
1842 | struct k_sigaction *ka; | 1842 | struct k_sigaction *ka; |
1843 | |||
1844 | if (unlikely(signal->group_stop_count > 0) && | ||
1845 | do_signal_stop(0)) | ||
1846 | goto relock; | ||
1847 | |||
1848 | /* | 1843 | /* |
1849 | * Tracing can induce an artifical signal and choose sigaction. | 1844 | * Tracing can induce an artifical signal and choose sigaction. |
1850 | * The return value in @signr determines the default action, | 1845 | * The return value in @signr determines the default action, |
@@ -1856,6 +1851,10 @@ relock: | |||
1856 | if (unlikely(signr != 0)) | 1851 | if (unlikely(signr != 0)) |
1857 | ka = return_ka; | 1852 | ka = return_ka; |
1858 | else { | 1853 | else { |
1854 | if (unlikely(signal->group_stop_count > 0) && | ||
1855 | do_signal_stop(0)) | ||
1856 | goto relock; | ||
1857 | |||
1859 | signr = dequeue_signal(current, ¤t->blocked, | 1858 | signr = dequeue_signal(current, ¤t->blocked, |
1860 | info); | 1859 | info); |
1861 | 1860 | ||