Messages in this thread Patch in this message | | | Date | Thu, 29 Sep 2005 19:58:53 +0400 | From | Oleg Nesterov <> | Subject | [PATCH] fix TASK_STOPPED vs TASK_NONINTERACTIVE interaction |
| |
do_signal_stop:
for_each_thread(t) { if (t->state < TASK_STOPPED) ++sig->group_stop_count; }
However, TASK_NONINTERACTIVE > TASK_STOPPED, so this loop will not count TASK_INTERRUPTIBLE | TASK_NONINTERACTIVE threads.
See also wait_task_stopped(), which checks ->state > TASK_STOPPED.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
--- 2.6.14-rc2/include/linux/sched.h~6_NONINT 2005-09-24 18:33:51.000000000 +0400 +++ 2.6.14-rc2/include/linux/sched.h 2005-09-29 23:42:25.000000000 +0400 @@ -110,11 +110,11 @@ extern unsigned long nr_iowait(void); #define TASK_RUNNING 0 #define TASK_INTERRUPTIBLE 1 #define TASK_UNINTERRUPTIBLE 2 -#define TASK_STOPPED 4 -#define TASK_TRACED 8 -#define EXIT_ZOMBIE 16 -#define EXIT_DEAD 32 -#define TASK_NONINTERACTIVE 64 +#define TASK_NONINTERACTIVE 4 +#define TASK_STOPPED 8 +#define TASK_TRACED 16 +#define EXIT_ZOMBIE 32 +#define EXIT_DEAD 64 #define __set_task_state(tsk, state_value) \ do { (tsk)->state = (state_value); } while (0) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |