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

发布于 2024-12-08 17:34:20 字数 44 浏览 1 评论 0原文

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

Is there any way to check if the tasklet_init function which initializes a tasklet has failed?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜尕妞 2024-12-15 17:34:20

如果您查看源代码(在 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 内核的好处是您可以随时参考源代码,看看是否有任何可能导致失败的原因。

As you would see if you looked at the source (in 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;
}

all the function does is set some structure members, so there is no possible way tasklet_init can fail.

In general if a kernel function returns void then you don't need to check if it succeeded or not. And of course the nice thing about the Linux kernel is that you can always refer to the source and see if there are any ways something can fail.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文