Here program where I get problems:
int fd;
fd_set rfds;
fd = open("/dev/random", O_RDWR );
while(1) {
FD_ZERO(&rfds);
FD_SET(fd,&rfds);
FD_SET(fileno(stdin),&rfds);
if( select(fd+1, &rfds, NULL, NULL, NULL ) > 0) {
fprintf(stderr,"Select\n");
fflush(stderr);
if(FD_ISSET(fd,&rfds)) {
.......
} else if(FD_ISSET(fileno(stdin),&rfds) ) {
......
}
}
}
Select is working fine for device (in this example /dev/random) or
stdin. But for both, not. When entering something to stdin, it's not
sure select will return.
I haven't tested is this problem present in all devices, but at least
/dev/random is infected. And if problem lies only in some of the
drivers, it would be nice to know which driver haves decent
implementation of poll and get others updated.
I'm not subsribed on the list, so when replying this you may consider
Cc:ing me.
-- M. Tavasti / tawz@nic.fi / +358-40-5078254 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/