如何在timerfd_create中检查定时器到期

发布于 2024-11-08 14:42:14 字数 231 浏览 0 评论 0原文

我想使用 timerfd_create 创建一个计时器,但我不知道如何检查到期时间。

有人可以帮我举一个简单的例子吗?

我知道如何使用 settime 创建和填充,正如您从我之前的计时器问题中看到的那样,但是如何检查 timerfd_create 的到期时间?我知道它通过文件描述符通知它已过期。但如何检查呢?

提前致谢。

I want to create a timer using timerfd_create, but i don't know how to check for the expiry.

Can someone please help me with an easy example?

I know how to create and populate using the settime as you can see from my earlier timer questions, but how to check the expiry of timerfd_create? I know it notifies via file descriptor of it's expiry. But how to check it?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

著墨染雨君画夕 2024-11-15 14:42:14

您可以使用selectepoll来监视文件描述符。这是一个例子:

struct epoll_event event;
efd = epoll_create(2);

event.data.fd = timer_fd;
event.events = EPOLLIN;
epoll_ctl(efd, EPOLL_CTL_ADD, timer_fd, &event);

while (1) {
    struct epoll_event revent;
    epoll_wait(efd, &revent, 1, -1);
    /* revent can now be used */
}

You can use select or epoll to monitor the file descriptor. Here's an example:

struct epoll_event event;
efd = epoll_create(2);

event.data.fd = timer_fd;
event.events = EPOLLIN;
epoll_ctl(efd, EPOLL_CTL_ADD, timer_fd, &event);

while (1) {
    struct epoll_event revent;
    epoll_wait(efd, &revent, 1, -1);
    /* revent can now be used */
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文