Dove si trova la definizione struct task_struct nel kernel Linux 2.6.30.5?


9

Nel kernel della versione 2.6.15, ho ottenuto che posso riscrivere task_structil file (include / linux / sched.h) , come:

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

Ma, sfortunatamente, quando ho eseguito l'aggiornamento alla versione 2.6.30.5, ho guardato attraverso lo stesso file, trovo solo una dichiarazione del task_structtipo:

struct task_struct;

E non ho idea di quale file dovrei fare riferimento al fine di specificare il mio task_struct? Qualcuno può aiutarmi?

Risposte:



3

Sto usando Debian Squeeze. Vedo una definizione nelle intestazioni corrispondente al mio kernel corrente, in /usr/src/linux-headers-2.6.32-5-common-vserver/include/linux/sched.h. La definizione inizia con

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.


Quindi, sto usando una versione instabile? Ma hai idea di dove la definizione passi a?
Qualche

@kaiwiiho: Scusa, non sono sicuro di cosa intendi.
Faheem Mitha,

Voglio dire che la versione 2.6.15 non è stabile. E, penso che la definizione debba esistere in un file .c che cancella sched.h. Ma sfortunatamente, non ho trovato un metodo per trovare il file oute c. puoi darmi qualche consiglio?
kaiwii ho

@kaiwiiho: Non sono sicuro di voler dire con stable. 2.6.15 è una versione del kernel. La definizione di struct è nel file di intestazione, per quanto posso vedere. Che cosa sta cercando?
Faheem Mitha,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.