首页 > ios锁屏操作,导致select 读事件疯狂上报

ios锁屏操作,导致select 读事件疯狂上报

为什么ios锁屏事件会引发select工作异常?求大神妙解。
问题描述:ios(8.3),运行app(iphone6/4s),锁屏,解锁回到app,发现CPU占用超高180%,定位为select一直上报fd可读,而不是等待1s秒超时。诡异的是,按home键切换到后台,再切回app则无此现象。
代码如下:
for(;;)
{
struct timeval tv;
tv.tv_sec = 1;
tv.tv_usec = 0;

FD_ZERO(&fdSet);
FD_SET(StunFd, &fdSet);

int maxfd = StunFd +1;

int e = select(maxfd, &fdSet, NULL, NULL, &tv);
if (e < 0){//错误处理...}
else if (e == 0){//超时处理...}
else
{
    if (FD_ISSET(StunFd, &fdSet))
    {
        //提示可读,但是读取失败
    }
}

}

【热门文章】
【热门文章】