/*
*struct list_head {
* struct list_head *next, *prev;
*};
*list_entry(ptr, type, member)这个函数的功能就是:从结构体(type)某成员变量(member)指针(ptr)来求出该结构体(type)的首指针
*/
Struct task_struct *task;
struct list_head *list;
Struct list_head *list;for (list = (¤t->children)->next; list != (¤t->children);list = list->next)
{
/*从task_struct结构体的sibling变量指针(list)来求出该task_struct结构体的首指针*/
task = list_entry(list, struct task_struct, sibling);
/*task指向当前的某个子进程*/
}
*struct list_head {
* struct list_head *next, *prev;
*};
*list_entry(ptr, type, member)这个函数的功能就是:从结构体(type)某成员变量(member)指针(ptr)来求出该结构体(type)的首指针
*/
Struct task_struct *task;
struct list_head *list;
Struct list_head *list;for (list = (¤t->children)->next; list != (¤t->children);list = list->next)
{
/*从task_struct结构体的sibling变量指针(list)来求出该task_struct结构体的首指针*/
task = list_entry(list, struct task_struct, sibling);
/*task指向当前的某个子进程*/
}