Signal problem

Tim McClarren tim at idle-games.com
Fri Jan 8 19:55:43 CET 2010


Marc Lehmann wrote:
> On Thu, Jan 07, 2010 at 10:13:42AM -0800, Tim McClarren <tim at idle-games.com> wrote:
>> SEGV does not get handled in a way that I would expect, so I wrote a  
>> little test for it.
> 
> So what do you expect? There is no portable way to continue from
> segfaults, and segfaults are asynchronous.

Yes.  I was under the impression from the documentation that the purpose 
of ev_signal was to attempt to deliver asynchronous signals synchronously.

>> I'm probably missing something obvious, or doing something wrong.
> 
> What you try to do makes no sense - segfaults are a serious issue, you
> can't just pretend nothing has happened and continue (you would have to
> *fix* the problem and tell your program where to continue afterwards).

I'm very well aware of that.  I think you're assuming I'm trying to 
recover gracefully from a SEGV.  That is not what I'm trying to do.

Might I suggest, as an improvement, if what I'm trying to do makes no 
sense that ev_signal_init not take SIGSEGV as a parameter and assert?

I am trying to emit a stack to the log.  I've done this before, via the 
usually sigaction route.

> You need to write your own handler to do that.

I wanted to homogenize the signal handling, instead of handling some 
signals asynchronously in signal handlers, and others via ev_signal.





More information about the libev mailing list