C++-select在mac上当延迟为何不管用?
void msleep(int m) {
if(m > 0) {
struct timeval tt;
tt.tv_sec = 0;
tt.tv_usec = m * 1000;
select(0, NULL, NULL, NULL, &tt);
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
囧,mac 上对 struct timeval 有数值限制
typedef int __int32_t;
typedef __int32_t __darwin_useconds_t;
__darwin_suseconds_t tv_usec;
虽然上限可以表示
pow(2, 31) / 1000 / 1000
大致 2k 多秒,但是传入超过 1000000 的值就会被认为是无效的参数
ps: Linux/Android 上没有此限制