Hi, 2010/5/7 Caleb Clausen <vikkous / gmail.com>: >> This is a serious issue, but if this is fixed to ensure to lock >> the mutex by ignoring an exception, the process can not be >> stopped by Ctrl+C. ?It is another serious issue. > > I can't say I entirely understand. Do you mean that ignoring the 2nd > Thread#raise causes ctrl-c to be ignored? Exactly. > Can a special case for > ctrl-c be made? Is there a more complete discussion of this issue > somewhere? Sorry, this is discussed in Japanese closed IRC with some committers including ko1, akr and kosaki. To sum up the discussion, we thought convenience of Ctrl+C is more important (for casual users) then consistency of CV#wait. And, a techie who want consistency of CV#wait can achieve it by avoiding Thread#raise and by paying attention to signal. >> In addition, if we are really serious for using CV, signal must >> not be converted to an exception, such as SIGINT and Interrupted. >> It can be achieved by Kernel#trap, i.e., trap(:INT) {}, but it >> is too stoic to enjoy programming... > > All signals are sent to the main thread, aren't they? So at least the > user needs to worry about this only if using a CV in the main thread. Exactly. You are really quine to understand :-) -- Yusuke Endoh <mame / tsg.ne.jp>