c - 为什么拔掉电缆时revents是0?
问题描述
我有一个检查以太网链路状态的功能。插入电缆后,revents 即为 POLLIN。因此,“状态已更改”行。被打印出来。但如果拔下电缆,revents 为 0。然后“状态已更改”。没有打印出来。为什么拔掉电缆时revents为0?在这种情况下,我怎么知道电缆是否被拔掉了?
void pollLink()
{
struct pollfd poll_data[1];
poll_data[0].fd = 0;
poll_data[0].events = POLLIN;
poll(poll_data, 1, 0);
if (poll_data[0].revents == POLLIN)
{
printf("Status is changed.");
}
}
解决方案
推荐阅读
- javascript - 如何在角度提交按钮后显示值?
- javascript - 离开 iframe 时 Wheel 事件未监听
- javascript - 查看 Google Analytics 4 界面时,setTimeout、setInterval 在 Chrome 扩展中不起作用
- html - 如何并排放置 2 个容器和输入框
- cdn - 需要每 5 秒更新一次的 CDN,清除还是推送?
- caching - 如何为作业禁用 GitLab 构建缓存
- mysql - Blob 如何存储在 mysql 中
- graph - 圆上的随机点
- json - 如何在颤动中访问此 JSON 数据?
- node.js - Instagram、uber、discord 等应用程序如何在应用程序关闭的情况下显示通知