Which guarantees?
Or rather, what does it mean that a file descriptor becomes available
for _____ (reading, ...)?
Near as I can see, you can delay recognition of ready status past a
call to select. As long as you're reasonably fair about it, it's
probably safe to only indicate one file descriptor as ready for
interaction ("random but fair").
Essentially, you're talking about propagation delays through a chaotic
kernel. Outside of real-time stuff, the proper definition of the
semantics should *not* be real-time.
-- Raul