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设得太长,导致另一端网络超时,重传。