[Mono-dev] [android-devel] [macios-devel] Signal-chaining & crash reporters
rokumper at microsoft.com
Fri Sep 16 19:05:17 UTC 2016
Exposing signal handlers from managed code is always the wrong solution.
If we're crashing in the runtime, a managed code signal handler has very little chance of works. It's a scenario we will never even consider supporting.
I guess the simple solution is to add an embedding API call that queues signal handlers
to be called first before chaining to the OS one.
Sent from Nylas N1<https://link.nylas.com/link/d48tmovljcet4a9zmfuetdrqy/local-32fb72b2-e621/0?redirect=https%3A%2F%2Fnylas.com%2Fn1%3Fref%3Dn1>, the extensible, open source mail client.
On Sep 16 2016, at 12:00 pm, Rolf Kvinge via android-devel <android-devel at lists.dot.net> wrote:
> On 16/09/16 19:22, "Miguel de Icaza" <miguel at microsoft.com> wrote:
> Thanks for getting these proposals out Rolf.
> I am not a fan of any of the provided options.
> We have two issues here: Mono is doing the right thing by supporting “chained handlers”, but many of these libraries can not chain signal handlers.
> Let me propose that we add a pair of methods, to undo the signal handling setup, and to restore the handling setup and surface those to managed code.
> The code for things like HockeyApp would become:
> Mono.UndoSignalHandlingSetup (); // SIGSEGV points back to original handlers
> HockeyAppInstallHandlers (); // SIGSEGV now points to HockeyApp handlers
> Mono.InstallSignalHandlers (); // SIGSEGV now points to Mono handler, that have chained capabilities
> The Undo/Install is necessary for the rare case of a library that can do proper chaining and might want to chain to another handler, so they would not chain back to Mono.
I think this could work.
Another advantage is that it would not require any code changes in the products, only Mono.
I can have a look at implementing (and testing) this, unless the runtime team wants to do it?
macios-devel mailing list
macios-devel at lists.dot.net
android-devel mailing list
android-devel at lists.dot.net
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Mono-devel-list