On Thu, 26 Apr 2018 09:57:59, Thomas Zimmermann wrote: > Hello mailing list, > > I noticed that synchronous signals (e.g., SIGSEGV, SIGFPE) appear to be > broken on 64-bit Cygwin systems. I could not find additional information > on the mailing list. If this is not already a known problem, you'll find > some analysis below. > > I use Cygwin DLL 2.10 with all packages up-to-date. My test system runs > Windows 7. > > The expected behavior is that an installed signal handler runs exactly > once for a signal and the OS terminates the program if the handler > returns. This works on 32-bit Cygwin. From my observation, Cygwin 64 > differs in the follow ways:
.. uhm, unless SA_RESETHAND (sa_flags) has been specified, I expect the handler to be invoked again and again ... And that is what I observe on Linux ... > 1) Generating a synchronous signal on the main thread, makes the signal > handler enter an endless loop. The attached test 'syncsig.c' illustrates > this. > > 2) Generating a synchronous signal on an additional POSIX thread ignores > the installed signal handler entirely. The handler does not run and the > program gets terminated immediately. The attached test 'syncsig_mt.c' > illustrates this. Yes, this behaviour is wrong ... Henri -- 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