diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/signal.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/kernel/signal.c b/kernel/signal.c index 38ea9e2f1831..e9abc69dc0d8 100644 --- a/kernel/signal.c +++ b/kernel/signal.c | |||
@@ -1866,7 +1866,8 @@ static int do_signal_stop(int signr) | |||
1866 | * still in effect and then receive a stop signal and | 1866 | * still in effect and then receive a stop signal and |
1867 | * initiate another group stop. This deviates from the | 1867 | * initiate another group stop. This deviates from the |
1868 | * usual behavior as two consecutive stop signals can't | 1868 | * usual behavior as two consecutive stop signals can't |
1869 | * cause two group stops when !ptraced. | 1869 | * cause two group stops when !ptraced. That is why we |
1870 | * also check !task_is_stopped(t) below. | ||
1870 | * | 1871 | * |
1871 | * The condition can be distinguished by testing whether | 1872 | * The condition can be distinguished by testing whether |
1872 | * SIGNAL_STOP_STOPPED is already set. Don't generate | 1873 | * SIGNAL_STOP_STOPPED is already set. Don't generate |
@@ -1896,8 +1897,6 @@ static int do_signal_stop(int signr) | |||
1896 | t->group_stop |= signr | gstop; | 1897 | t->group_stop |= signr | gstop; |
1897 | sig->group_stop_count++; | 1898 | sig->group_stop_count++; |
1898 | signal_wake_up(t, 0); | 1899 | signal_wake_up(t, 0); |
1899 | } else { | ||
1900 | task_clear_group_stop_pending(t); | ||
1901 | } | 1900 | } |
1902 | } | 1901 | } |
1903 | } | 1902 | } |