作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
有没有办法以原子方式使用命令 SIOCGIFFLAGS
和 SIOCSIFFLAGS
调用 ioctl(该问题对所有系统调用也有效)?例如,如果我将 IFF_PROMISC
标志添加到接口(interface):
...
struct ifreq ifr;
memset(&ifr, 0, sizeof(ifr));
strcpy(ifr.ifr_name, "eth0");
if (ioctl(sk, SIOCGIFFLAGS, &ifr) < 0)
...
ifr.ifr_flags |= IFF_PROMISC;
if (ioctl(sk, SIOCSIFFLAGS, &ifr) < 0)
...
我如何确保这两个调用是自动进行的?
谢谢大家!
最佳答案
简单的答案是你不能 - 没有办法保证另一个进程没有改变这些调用之间的标志。
关于linux - 如何使用命令 SIOCGIFFLAGS 和 SIOCSIFFLAGS 原子地调用 ioctl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7900719/
有没有办法以原子方式使用命令 SIOCGIFFLAGS 和 SIOCSIFFLAGS 调用 ioctl(该问题对所有系统调用也有效)?例如,如果我将 IFF_PROMISC 标志添加到接口(inter
我是一名优秀的程序员,十分优秀!