如何为wait_event_timeout函数设置超时= 1秒?

时间:2012-04-10 16:29:12

标签: c timeout linux-kernel time-wait

如何为wait_event_timeout函数设置超时= 1秒? 功能:wait_event_timeout (wq,condition,timeout);

如何使超时= 1秒。

如果调用函数那样:wait_event_timeout(queue,flag!='n',30*HZ);

超时= ???

3 个答案:

答案 0 :(得分:5)

函数wait_event_timeout在jiffies中获取其超时值。使用常量HZ(每秒计时器滴答数)来指定jiffies中的时间。表达式HZ相当于一秒钟。表达式30 * HZ相当于30秒。

wait_event_timeout (wq,condition,HZ);

答案 1 :(得分:4)

wait_event_timeout在jiffies中超时。并且HZ是linux中定义的标识符,表示1秒。因此n * HZ表示n秒。希望你现在可以将jiffies时间转换为现实世界时间,例如n millisecond = n*HZ/1000

答案 2 :(得分:0)

只是一句话:考虑到HZ因系统而异。在大多数系统/内核上,我知道Hz设置为100.因此将其除以1000得到毫秒将始终以值0结束。