Sending ABRT to timeout-errant process before KILL

Eric Wong normalperson at yhbt.net
Fri Sep 9 19:01:41 EDT 2011


Eric Wong <normalperson at yhbt.net> wrote:
> sleeping means they haven't accepted a client connection, yet.  Not
> sleeping while processing a client request.   I'll clarify that in the
> code.

Pushed to git://bogomips.org/unicorn.git
(commit d209910e29d4983f8346233262a49541464252c1)

> 	git clone git://bogomips.org/rainbows
> 	cat rainbows/lib/rainbows/thread_timeout.rb
> 
> This is conceptually similar to "timeout" in the Ruby standard library,
> but does not allow nesting.
> 
> I'll try to clarify more later today if you have questions, in a bit of
> a rush right now.

Did you manage to get anything going based on this?  I should add that
this has the same chance of working as a SIGABRT handler written in
Ruby (but is less intrusive).

Hopefully the following diagram/chart from a previous post can explain
why you can't rely on trappable signal handlers if the Ruby VM is in a
bad state:

  http://mid.gmane.org/20110817201323.GA24581@dcvr.yhbt.net

-- 
Eric Wong


More information about the mongrel-unicorn mailing list