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

데비안 스퀴즈를 사용하고 있습니다. 현재 커널에 해당하는 헤더에 정의가 /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

나는 버전 2.6.15가 안정적이지 않은지 여부를 의미합니다. 그리고 정의가 sched.h를 방해하는 .c 파일에 있어야한다고 생각하지만 불행히도, 나는 oute c 파일을 찾는 방법을 생각하지 않았습니다. 나에게 힌트를 줄 수 있습니까?
kaiwii ho

@kaiwiiho : 당신이 안정적인지 확실하지 않습니다. 2.6.15는 커널 릴리스입니다. 구조체의 정의는 내가 볼 수있는 한 헤더 파일에 있습니다. 무엇을 찾고 있습니까?
Faheem Mitha
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.