del_timer_sync()当处理程序使用mod_timer重新计算其计时器时

时间:2012-11-28 03:38:37

标签: timer linux-kernel

我正在使用一个周期性计时器,其中处理程序函数在使用mod_timer完成时重新启动计时器。当我使用del_timer_sync()杀死计时器并且处理程序正在运行时,这是否意味着计时器重新启动并且没有被删除,或者该功能是否会以某种方式杀死计时器?如果它没有杀死计时器,有没有办法通过返回值知道函数是否必须等待处理程序完成?在这种情况下,我可以在循环中调用del_timer_sync(),直到返回不是该值。我正在使用的内核版本是2.6.26.5

1 个答案:

答案 0 :(得分:4)

查看del_timer_sync()is defined in the Linux kernel如何确保在返回之前,计时器被终止并且不会被重新武装。

换句话说,del_timer_sync()是一个阻塞函数调用。调用时,如果计时器处理程序正在运行,del_timer_sync()仅在之后返回,计时器处理程序最后一次完成执行。