Revert task flag re-ordering, add comments

Roland points out that the flags end up having non-obvious dependencies
elsewhere, so revert aa55a08687 and add
some comments about why things are as they are.

We'll just have to fix up the broken comparisons. Roland has a patch.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Linus Torvalds 2005-09-29 15:18:21 -07:00
parent aa55a08687
commit 4a8342d233

View File

@ -107,14 +107,26 @@ extern unsigned long nr_iowait(void);
#include <asm/processor.h> #include <asm/processor.h>
/*
* Task state bitmask. NOTE! These bits are also
* encoded in fs/proc/array.c: get_task_state().
*
* We have two separate sets of flags: task->state
* is about runnability, while task->exit_state are
* about the task exiting. Confusing, but this way
* modifying one set can't modify the other one by
* mistake.
*/
#define TASK_RUNNING 0 #define TASK_RUNNING 0
#define TASK_INTERRUPTIBLE 1 #define TASK_INTERRUPTIBLE 1
#define TASK_UNINTERRUPTIBLE 2 #define TASK_UNINTERRUPTIBLE 2
#define TASK_NONINTERACTIVE 4 #define TASK_STOPPED 4
#define TASK_STOPPED 8 #define TASK_TRACED 8
#define TASK_TRACED 16 /* in tsk->exit_state */
#define EXIT_ZOMBIE 32 #define EXIT_ZOMBIE 16
#define EXIT_DEAD 64 #define EXIT_DEAD 32
/* in tsk->state again */
#define TASK_NONINTERACTIVE 64
#define __set_task_state(tsk, state_value) \ #define __set_task_state(tsk, state_value) \
do { (tsk)->state = (state_value); } while (0) do { (tsk)->state = (state_value); } while (0)