ikegami: good example, but I'm not sure what you're trying to show me. Clearly the alarm is waking up the select but I already knew it does.
I think the bigger question is when it wakes it up do you explicitly need to ignore the alarm inside the select loop? From my experiments, and if you put a print inside the loop, the code inside the loop doesn't execute (I assume this is because @ready is empty at this point), but I'm not sure whether this example is sufficient to prove it and think that is the key question, though it clearly operates as I've seen with my tests.
-mark