Oleg Nesterov aa55a08687 [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>

[ We really probably should always use the appropriate bitmasks to test
  task states, not do it like this. Using something like

	#define TASK_RUNNABLE (TASK_RUNNING | TASK_INTERRUPTIBLE | \
				TASK_UNINTERRUPTIBLE | TASK_NONINTERACTIVE)

  and then doing "if (task->state & TASK_RUNNABLE)" or similar. But the
  ordering of the task states is historical, and keeping the ordering
  does make sense regardless. ]

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-29 09:05:52 -07:00
..
2005-09-13 08:22:31 -07:00
2005-09-10 10:06:21 -07:00
2005-09-10 10:16:27 -07:00
2005-09-26 15:06:50 -07:00
2005-09-13 08:22:32 -07:00
2005-09-09 13:57:55 -07:00
2005-09-13 08:22:32 -07:00
2005-09-19 15:41:28 -07:00
2005-09-09 20:14:47 -05:00
2005-09-10 10:06:21 -07:00
2005-09-17 11:50:02 -07:00
2005-09-27 15:24:13 -07:00
2005-09-13 08:22:31 -07:00
2005-09-09 13:57:54 -07:00
2005-09-09 13:57:54 -07:00
2005-09-08 12:32:03 -07:00
2005-09-10 10:06:26 -07:00
2005-09-10 10:06:21 -07:00
2005-09-10 10:06:21 -07:00
2005-09-18 00:18:32 -07:00
2005-09-10 10:06:36 -07:00
2005-09-09 13:57:58 -07:00