I wrote a small test program to figure out how to talk to poll. I created three files testa,testb,testc and wrote the string hel
testa
testb
testc
hel
The local file descriptors are always ready to perform I/O (unlike sockets, because they are depend on the kernel internal buffer for I/O)). In your case file descriptors are always ready for reading, even if they are empty actually.