如何使 wait_event_timeout 函数的 timeout = 1 秒?功能 :wait_event_timeout (wq,condition,timeout);
我怎样才能使超时= 1秒。
如果这样调用函数: wait_event_timeout(queue,flag!='n',30*HZ);
超时=???
如何使 wait_event_timeout 函数的 timeout = 1 秒?功能 :wait_event_timeout (wq,condition,timeout);
我怎样才能使超时= 1秒。
如果这样调用函数: wait_event_timeout(queue,flag!='n',30*HZ);
超时=???
函数 wait_event_timeout 以 jiffies 为单位获取其超时值。使用常数HZ
(每秒计时器滴答数)以 jiffies 为单位指定时间。表达式HZ
相当于一秒钟。该表达式30 * HZ
相当于 30 秒。
wait_event_timeout (wq,condition,HZ);
wait_event_timeout在 jiffies 中超时。并且HZ
是 linux 中定义的标识符,表示 1 秒。所以n * HZ
意味着n
秒。希望现在您可以将 jiffies 时间转换为真实世界时间,例如n millisecond = n*HZ/1000
只是备注:考虑到 HZ 因系统而异。在我知道的大多数系统/内核上,Hz 设置为 100。因此,将其除以 1000 以获得毫秒数将始终以值 0 结束。