pselect 问题

ords=rds;

oeds=rds;

if (loop_started) {

tv.tv_sec=2;

tv.tv_nsec=0;

} else {

tv.tv_sec=0;

tv.tv_nsec=0;

}

ret=pselect(max_fd,&ords,NULL,&oeds,&tv,&orig_sigmask);

if (exit_program==2) break;

if (exit_program==1) {

pthread_create(&ending_thread,NULL,just_end_it_now,NULL);

}

由于某种原因max_fd初始值是0,导致不能按时返回有效的句柄。返回,由因为tv设得太长,导致另一端网络超时,重传。

原文地址:https://www.cnblogs.com/bridge-m/p/3283835.html