gcc4: throwing exception from signal handler

Don Ward don2387ward@sprynet.com
Thu Jul 8 17:02:00 GMT 2010


Dave Korn wrote:

> On 08/07/2010 14:01, Don Ward wrote:
>> I would like to be able to catch certain signals (SIGSEGV and SIGSYS)
>> and throw a C++ exception (to be caught in a try/catch construct).  As a
>> simple example:
>
>> Am I misunderstanding how this should work or doing something wrong?  Or
>> is this a problem with Cygwin or gcc?
>
>  Throwing exceptions from a signal handler is a can of worms that requires
> support from both the compiler and the C runtime.

Understood!

>  I was working on adding
> this support for the distro package of gcc-4.5 before I had to go AWOL a
> couple of weeks ago; it requires building the Cygwin DLL with EH tables, 
> and
> adding support in the last-chance stack unwinder in libgcc that is able to
> unwind past our sigfe/sigbe stuff.

I'm glad someone is (or will be) working on it.  In the meanwhile, I can 
make do with gcc 3.4.4.

Thanks,

-- Don W.


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list