2011-10-06 55 views

回答

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內核的好處在於,您始終可以引用源代碼並查看是否有任何方法可能會失敗。