This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: libsigsegv error handling (was: perl threads on 2008 R2 64bit)


2009/7/17 Eric Blake:
> Dave Korn writes:
>
>> ? That looks fairly robust to me, shouldn't give us any problems. ?Question
>> is, what does the code that hooks and unhooks the exception handler look like,
>> and where does it get called from?
>
> static void
> do_install_main_exception_filter ()
> {
> ?/* We cannot insert any handler into the chain, because such handlers
> ? ? must lie on the stack (?). ?Instead, we have to replace(!) Cygwin's
> ? ? global exception handler. ?*/
> ?cygwin_exception_handler = _except_list->handler;
> ?_except_list->handler = libsigsegv_exception_handler;
> }
>
> static void
> install_main_exception_filter ()
> {
> ?static int main_exception_filter_installed = 0;
>
> ?if (!main_exception_filter_installed)
> ? ?{
> ? ? ?do_install_main_exception_filter ();
> ? ? ?main_exception_filter_installed = 1;
> ? ?}
> }
>
> It looks like it is installed, never uninstalled. ?And although the current
> release of libsigsegv is a static-only library, Bruno is proud of the fact that
> his libsigsegv package can be provided as a dynamic library even on cygwin (in
> other words, the current cygwin maintainer of the libsigsegv package could
> decide to pass the right configure options to make libsigsegv a .dll, at which
> point a rebuild of m4 would then be subject to issues of a .dll playing with
> the exception filter).

Good catch! I'll try the dll ASAP
(putting clisp-2.48, parrot-1.4.0 and postgresql-8.4.0 back in the pipeline)

> Is there a chance that this represents a bug in
> libsigsegv SEH handling that needs to be reported upstream?

I'll report that, if it turns out so.
-- 
Reini Urban
http://phpwiki.org/           http://murbreak.at/

--
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]