从计时器回调函数内部调用mod_timer

资料库

我正在为Linux编写一个内核模块,并且希望自己的计时器重新设置。为此,我想mod_timer从计时器的回调函数内部进行调用,如下所示:

static void sched_send(unsigned long data)
{
    send_now();
    mod_timer(&test_timer, jiffies+(get_interval()*HZ));
}

static void timer_start(void)
{
    set_log_msg("Meep meep!");

    test_timer.function = sched_send;
    test_timer.expires = jiffies + HZ*get_interval();
}

但是,我读过mod_timer删除计时器,然后重新添加它。会引起问题吗?如果是这样,是否有更好的方法为内核模块创建重复计时器?

彼得

你的函数timer_start()必须调用add_timer()它设置功能和到期时间之后。计时器功能触发后,您的计时器将不再处于活动状态,因此您要做的就是将.expires字段重置为新值并add_timer()再次调用确保您提供了一种干净的方法来停止重新计划计时器,例如在模块卸载时。

send_now();
if(!terminate_timer) {
    test_timer.expires = jiffies + HZ*get_interval();
    add_timer(&test_timer);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

处置WaitOne函数卡住的计时器回调

来自分类Dev

计时器内部的调用方法计时器ElapsedEvent

来自分类Dev

计时器内部的调用方法计时器ElapsedEvent

来自分类Dev

全局静态对象销毁后,是否可以调用OS计时器回调?

来自分类Dev

如何在类构造函数/计时器回调中等待任务

来自分类Dev

调用自身的函数的NodeJS计时器

来自分类Dev

回调函数与从函数内部调用函数

来自分类Dev

Pharo smalltalk + Seaside中的计时器回调

来自分类Dev

如何等待异步计时器回调

来自分类Dev

在计时器的定期回调中产生BLoC状态

来自分类Dev

在setTimeout()的回调中获取计时器ID?

来自分类Dev

带有回调的计时器(原始)引发TypeError

来自分类Dev

带有回调的扭曲模拟计时器

来自分类Dev

计时器回调的C#线程寿命

来自分类Dev

在计时器回调中创建MapIcon

来自分类Dev

为什么在计时器回调中调用事件会导致以下代码被忽略?

来自分类Dev

Javascript:多个计时器与多个一个计时器多个函数调用

来自分类Dev

一个计时器可以在另一个计时器的回调期间触发吗?

来自分类Dev

对象内部的计时器

来自分类Dev

从对象内部的异步回调内部调用函数

来自分类Dev

javascript:从回调函数在对象内部调用函数

来自分类Dev

线程计时器不回调

来自分类Dev

多个计时器/回调-防止重复并监视重复的最佳方法

来自分类Dev

如何在Linux内核模块中设置定期计时器回调

来自分类Dev

EventMachine:计时器和回调是否在主线程中运行?

来自分类Dev

为什么必须在回调中对AnyEvent计时器观察程序进行定义?

来自分类Dev

如何使用Boost在C ++中实现独立于系统时间的计时器回调

来自分类Dev

等待所有线程计时器回调完成的安全方法

来自分类Dev

如何使用Boost在C ++中实现独立于系统时间的计时器回调

Related 相关文章

  1. 1

    处置WaitOne函数卡住的计时器回调

  2. 2

    计时器内部的调用方法计时器ElapsedEvent

  3. 3

    计时器内部的调用方法计时器ElapsedEvent

  4. 4

    全局静态对象销毁后,是否可以调用OS计时器回调?

  5. 5

    如何在类构造函数/计时器回调中等待任务

  6. 6

    调用自身的函数的NodeJS计时器

  7. 7

    回调函数与从函数内部调用函数

  8. 8

    Pharo smalltalk + Seaside中的计时器回调

  9. 9

    如何等待异步计时器回调

  10. 10

    在计时器的定期回调中产生BLoC状态

  11. 11

    在setTimeout()的回调中获取计时器ID?

  12. 12

    带有回调的计时器(原始)引发TypeError

  13. 13

    带有回调的扭曲模拟计时器

  14. 14

    计时器回调的C#线程寿命

  15. 15

    在计时器回调中创建MapIcon

  16. 16

    为什么在计时器回调中调用事件会导致以下代码被忽略?

  17. 17

    Javascript:多个计时器与多个一个计时器多个函数调用

  18. 18

    一个计时器可以在另一个计时器的回调期间触发吗?

  19. 19

    对象内部的计时器

  20. 20

    从对象内部的异步回调内部调用函数

  21. 21

    javascript:从回调函数在对象内部调用函数

  22. 22

    线程计时器不回调

  23. 23

    多个计时器/回调-防止重复并监视重复的最佳方法

  24. 24

    如何在Linux内核模块中设置定期计时器回调

  25. 25

    EventMachine:计时器和回调是否在主线程中运行?

  26. 26

    为什么必须在回调中对AnyEvent计时器观察程序进行定义?

  27. 27

    如何使用Boost在C ++中实现独立于系统时间的计时器回调

  28. 28

    等待所有线程计时器回调完成的安全方法

  29. 29

    如何使用Boost在C ++中实现独立于系统时间的计时器回调

热门标签

归档