以前的代码:
void Select()
{
fd_set fdSet;
static struct timeval tv;
tv.tv_sec=0;
tv.tv_usec = 500000;//采用select每500毫秒轮询一次查询是否有WEB写入FIFO的告警
FD_ZERO(&fdSet);
FD_SET(m_fd,&fdSet);
int nSelectRet=select((m_fd+1),&fdSet,NULL,NULL,&tv);
if(nSelectRet<0)
{
perror("select");
}
else
{
if(nSelectRet>0)
{
if(FD_ISSET(m_fd,&fdSet))
{
do_something();
}
}
}
}
修改之后的代码:
void Select()
{
fd_set fdSet;
static struct timeval tv;
tv.tv_sec=0;
tv.tv_usec = 500000;//采用select每500毫秒轮询一次查询是否有WEB写入FIFO的告警
FD_ZERO(&fdSet);
FD_SET(m_fd,&fdSet);
int nSelectRet=select((m_fd+1),&fdSet,NULL,NULL,&tv);
if(nSelectRet<0)
{
perror("select");
return ;
}
if(nSelectRet==0)
{
return ;
}
if(FD_ISSET(m_fd,&fdSet))
{
do_something();
}
}
看起来工整多了
select返回值可以这样子优雅编程