Onde está a definição struct task_struct no Kernel do Linux 2.6.30.5?

9

No kernel da versão 2.6.15, consegui reescrever task_structo arquivo (include / linux / sched.h) como:

struct task_struct {  
    unsigned did_exec:1;  
    pid_t pid;  
    pid_t tgid;  
    ...
    char hide;
}  

Mas, infelizmente, quando atualizei para a versão 2.6.30.5, procurei no mesmo arquivo, apenas encontrei uma declaração do task_structtipo:

struct task_struct;

E eu não tenho idéia de qual arquivo devo me referir com o objetivo de especificar o meu próprio task_struct? Alguém pode me ajudar?

kaiwii ho
fonte

Respostas:

3

Eu estou usando o Debian squeeze. Eu vejo uma definição nos cabeçalhos correspondentes ao meu kernel atual, em /usr/src/linux-headers-2.6.32-5-common-vserver/include/linux/sched.h. A definição começa com

struct task_struct {
        volatile long state;    /* -1 unrunnable, 0 runnable, >0 stopped */
        void *stack;
        atomic_t usage;
        unsigned int flags;     /* per process flags, defined below */
        unsigned int ptrace;

        int lock_depth;         /* BKL lock depth */

HTH.

Faheem Mitha
fonte
Então, estou usando uma versão instável, mas fazer u tem alguma idéia de onde o interruptor defination a qualquer dica thx??
kaiwii ho
@kaiwiiho: Desculpe, não tenho certeza do que você quer dizer.
Faheem Mitha
Eu quero dizer que, se a versão 2.6.15 não é estável. E, acho que a definição deve existir em um arquivo .c que exclua o sched.h. você pode me dar algumas dicas?
Kaiwii ho
@kaiwiiho: Não sei ao certo por estável. 2.6.15 é uma versão do kernel. A definição da estrutura está no arquivo de cabeçalho, tanto quanto posso ver. O que você está procurando?
Faheem Mitha