- Code: Select all
signal(SIGSEGV, signal_handler);
signal(SIGILL, signal_handler);
signal(SIGABRT, signal_handler);
signal(SIGBUS, signal_handler);
...to detect certain exceptions that can occur and inspect the stack, write some things out to the log etc before the app crashes. These handlers work fine UNTIL cef_initialize is called. After that, none of our handlers are hit any longer. We do not have a crash_report.cfg in our Resources folder and if I query cef_crash_reporting_enabled() it returns 0 so I _THINK_ crash reporting is turned off. Registering our signal handlers AFTER cef_initialize does indeed bring them back to life however this is not ideal because CEF is initialized very late in our startup sequence by necessity.
What else could be causing our handlers to get stolen by CEF? I've tried looking through the source code for uses of signal() or sigaction() but i don't see any smoking guns.