Как вы увидели бы, если бы вы посмотрели на источник (в 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 состоит в том, что вы всегда можете обратиться к источнику и посмотреть, есть ли какие-то способы, которые могут что-то не дать.