04 Apr '13, 3am

"It is provably unsafe to be able to kill a target thread or cause it to raise an exception arbitrarily."

Although you don't have to take my word for it, eventually you're going to have to accept the truth. Thread#kill, Thread#raise, timeout.rb, net/protocol.rb all suffer from these problems. net/protocol.rb could be fixed to use nonblocking IO (select), as could I suspect most of the other libraries, but there is no safe way to use Thread#kill or Thread#raise. Let me repeat that: there is no safe way to use Thread#kill or Thread#raise . Start lobbying the various Ruby implementations to eliminate Thread#kill and Thread#raise (and while you're at it, eliminate Thread#critical= as well, since it's probably the single largest thing preventing Ruby from being both concurrently-threaded and high-performance). Start lobbying the library and application maintainers using Thread#kill, Thread#raise, and timeout.rb to stop.

Full article: http://blog.headius.com/2008/02/ruby-threadraise-threadki...

Tweets

How to Kill Self-Reported Data

searchenginewatch.com 05 Apr '13, 7am

Self-reported data is collected when a website/company asks a user any iteration of "How did you hear about us?" While sel...

TIL: The difference between throw/catch and rai...

rubylearning.com 04 Apr '13, 1pm

Ruby is a language that tries to anticipate your needs as a programmer. One common need is a way to terminate execution ea...