2.6.30.5 Linuxカーネルのstruct task_struct定義はどこにありますか?


9

バージョン2.6.15カーネルではtask_struct、次のようにファイル(include / linux / sched.h)を書き換えることができます。

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

しかし、残念ながら、バージョン2.6.30.5にアップグレードしたときに同じファイルを調べたところtask_struct、次のようなの宣言が見つかりました。

struct task_struct;

また、自分のファイルを指定するためにどのファイルを参照すればよいのtask_structかわかりません。誰かが私を助けてくれますか?

回答:



3

Debian squeezeを使用しています。現在のカーネルに対応するヘッダーの定義がにあります/usr/src/linux-headers-2.6.32-5-common-vserver/include/linux/sched.h。定義は

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。


それで、私は不安定なバージョンを使用していますか?しかし、
定義が

@kaiwiiho:すみません、どういう意味かわかりません。
Faheem Mitha、2012年

私はバージョン2.6.15が安定していないかどうかを意味します。そして、sched.hをdecratateする.cファイルに定義が存在する必要があると思います。しかし、残念ながら、cファイルを見つける方法を考えていません。ヒントを教えてくれませんか?
kaiwii ho 2012

@kaiwiiho:安定という意味ではありません。2.6.15はカーネルリリースです。構造体の定義は、私が見る限り、ヘッダーファイルにあります。何を探していますか?
Faheem Mitha、2012年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.