( apal | 2025. 05. 21., sze – 01:01 )

Inkabb select(). A nonblock tulajdonsag magara az fd-re szinten lehet jo/hasznos, de soros eszkozokre, foleg ha alacsony a baud rate, akkor inkabb select() + valami fizikailag relevans timeout. Azaz valami ilyesmi:

 struct timeval         tv;
 fd_set                 set;

 tv.tv_sec=0;
 tv.tv_usec=10000;
 FD_ZERO(&set);
 FD_SET(dfd,&set);
 r=select(dfd+1,&set,NULL,NULL,&tv);

Ha r=0, akkor timeout volt (10 millisec-en belul nem jott adat), ha 0<r es a &set-ben benne marad(t) a dfd, akkor meg van adat. Ezutobbira lasd: FD_ISSET(dfd,&set) es hasonloak.