2.6.30.5 Linux Çekirdeğindeki struct task_struct tanımı nerededir?


9

Sürüm 2.6.15 çekirdeğinde, ben task_struct(/ linux / sched.h dahil) dosyada yeniden yazmak olabilir var gibi:

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

Ancak, ne yazık ki, 2.6.30.5 sürümüne yükseltme yaptığımda, aynı dosyaya baktım, sadece bir beyan buluyorum task_struct, örneğin:

struct task_struct;

Kendi dosyamı belirtmek için hangi dosyaya başvurmam gerektiğine dair hiçbir fikrim yok task_structmu? Birisi bana yardım edebilir mi?

Yanıtlar:



3

Debian sıkmak kullanıyorum. Geçerli çekirdeğime karşılık gelen başlıklarda bir tanım görüyorum /usr/src/linux-headers-2.6.32-5-common-vserver/include/linux/sched.h. Tanım ile başlar

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.


Yani, kararsız bir sürüm mü kullanıyorum? Ama u
tanımın

@kaiwiiho: Üzgünüm, ne demek istediğinden emin değilim.
Faheem Mitha

i sürüm 2.6.15 kararlı değil olup olmadığını demek.Ve, ben tanımlama sched.h.c.c.cent.c.al.cent maalesef, oute c dosyasını bulmak için bir yöntem düşünmüyorum var. benim için bazı ipuçları verebilir misin?
kaiwii ho

@kaiwiiho: Kararlı demek istediğinizden emin değilim. 2.6.15 bir çekirdek sürümüdür. Yapının tanımı, görebildiğim kadarıyla başlık dosyasında. Ne arıyorsun?
Faheem Mitha
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.