【发布时间】:2016-11-14 08:48:25
【问题描述】:
我正在尝试向 linux 内核 (2.4.14-18) 中 sched.h 中的任务结构添加一个列表。
我已经添加了成员
list_t waitList
在task_struct中,并添加
waitList: LIST_HEAD_INIT(tsk.waitList)
到 INIT_TASK 宏。
当我编译和加载内核时,我得到一个内核 oops。 还有什么我需要做和错过的吗?
【问题讨论】:
-
那是您添加的实际行吗?应该是
.waitList = LIST_HEAD_INIT(tsk.waitList), -
@StoryTeller 我想我可以将它添加到 fork() 中,但是我可以在哪里放置该行来初始化第一个进程的列表?我放置的行与“run_list”的初始化相同,它也是任务的成员
-
LIST_HEAD_INIT是一个宏。以上将扩展为.waitList = {&(tsk.waitList), &(tsk.waitList)},,并且属于INIT_TASK。