On Mar 29 12:25, Ken Brown wrote: > On 3/20/2014 11:02 AM, Corinna Vinschen wrote: > >On Mar 20 01:58, Andrey Repin wrote: > >>Greetings, Corinna Vinschen! > >> > >>>The code is now practically equivalent to what is in 1.7.28. Only the > >>>VectoredContinueHandler, which was the reason Cygwin's exception handler > >>>could be called twice, is not called anymore. Instead there's a vectored > >>>exception handler which is only called during debugging. > >> > >>>Before: > >> > >>> if (!handler_installed) > >>> { > >>> handler_installed = true; > >>> SetUnhandledExceptionFilter (handle); > >>> AddVectoredContinueHandler (1, handle); > >>> } > >> > >>>After: > >> > >>> if (!handler_installed) > >>> { > >>> handler_installed = true; > >>> SetUnhandledExceptionFilter (handle); > >>> AddVectoredExceptionHandler (1, handle_while_being_debugged); > >>> } > >> > >>>If anybody can explain this weird behaviour, please educate me. > >> > >>I can't explain the behavior, but I could say, that setting > >>"handler_installed = true;" before the handler is actually installed is not > >>quite right. > >>Unless that variable is used inside either of two functions called > >>afterward, > >>I would move it down to the end of `if' block. > > > >BTDT. This isn't the problem. I *may* have found the culprit today, > >but I ripped apart a lot of the code so I'm not really sure yet. Stay > >tuned. > > The problems I've reported seem to all be fixed in the latest > snapshot (2014-03-29 15:21:43 UTC). Thanks!
Thanks to you for reporting the problems, providing testcases, and generally testing snapshots! Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat
pgpvosDyhcdqY.pgp
Description: PGP signature