> - Kill and raise require the target thread to eventually reach a > checkpoint where they are willing to "listen" to the kill or raise > event. If they don't, the calling thread will wait forever. I think this is fair. I also think that the core developer may need to really think about what should be a checkpoint *in the language itself* (for instance, end of a block, end of a method, whatever). For instance, not allowing to have a checkpoint in an "ensure" context would fix the ensure-related issues (but may not fix others that I don't see) My main use of Thread#raise is "returning" from a ConditionVariable#wait. Can I assume this is seen as a checkpoint by JRuby ? Sylvain Joyeux