0

タスクレットの機能をテストする簡単なコードを書きます。

tasklet_kill を行わないと、insmod コマンドの使用後にカーネルがハングアップします。ログがないので、何が起こるかわかりません。

以下は私のコードです。

void work_fcn(unsigned long a)
{
    printk("this is tasklet work function\n");
}

void tasklet_test(void)
{
    struct tasklet_struct task;
    tasklet_init(&task, work_fcn, 0);
    tasklet_schedule(&task);
    //if I don't do the following line, then kernel hang
    tasklet_kill(&task); 
}

static int __init hello_init(void)
{
     tasklet_test();
     return 0;
}

module_init(hello_init);

ありがとう。

4

1 に答える 1