> > I'm all for better stack traces. But I'd like to know if Mir aborts, what
> > happens to threads that the shell owns? Does shell have any way to clean up
> > its own state?
>
> Add a handler to the_emergency_cleanup()...
Although it's worth noting that this will be run in a signal context, so you'll be severely restricted as to what you can reliably do! (The emergency cleanup code currently looks like it allocates memory in the signal context which runs a reasonable chance of deadlocking).
Globally this seems like a reasonable idea, but is there really no way to get useful debugging information out of C++ in the presence of exceptions?
> > I'm all for better stack traces. But I'd like to know if Mir aborts, what cleanup( )...
> > happens to threads that the shell owns? Does shell have any way to clean up
> > its own state?
>
> Add a handler to the_emergency_
Although it's worth noting that this will be run in a signal context, so you'll be severely restricted as to what you can reliably do! (The emergency cleanup code currently looks like it allocates memory in the signal context which runs a reasonable chance of deadlocking).
Globally this seems like a reasonable idea, but is there really no way to get useful debugging information out of C++ in the presence of exceptions?