I haven't noticed any problems with select(2) or poll(2). Can you try
a simple test programme that does a blocking read instead of using
select(2) and see if that behaves correctly?
Can you check if kernels before 2.1.52 have the same problem? I did
some optimisation work for select(2) and poll(2) back then, but I
haven't heard of any problems with the patches that were subsequently
included into the mainstream kernel. A good kernel to try is 2.1.42
which I found to be quite robust (many of the 2.1.5x kernels had file
corruption problems).
If you find 2.1.42 and 2.1.51 work properly for select(2), then can
you please try each successive kernel until it breaks and tell me
which one breaks? That would help narrow down which patch broke
things.
Regards,
Richard....