如何检查tasklet_init调用是否失败?

时间:2011-10-06 23:25:05

标签: linux linux-kernel driver kernel kernel-module

有没有办法检查初始化tasklet的tasklet_init函数是否失败?

1 个答案:

答案 0 :(得分:1)

正如您所看到的那样,如果查看来源(kernel/softirq.c):

void tasklet_init(struct tasklet_struct *t,
                  void (*func)(unsigned long), unsigned long data)
{
        t->next = NULL;
        t->state = 0;
        atomic_set(&t->count, 0);
        t->func = func;
        t->data = data;
}

所有函数都设置了一些结构成员,因此tasklet_init没有可能失败的方式。

通常,如果内核函数返回void,那么您不需要检查它是否成功。当然,关于Linux内核的好处是你总是可以参考源代码,看看是否有任何方法可能会失败。