2016-12-18 0:29 GMT+03:00 Andrey Semashev
On Sat, Dec 17, 2016 at 9:17 PM, Niall Douglas
wrote: Specifically:
1. Should Stacktrace be async safe so it can be used to print a stacktrace from a signal/exception handler?
That depends on whether any backend supports decoding the stacktrace in signal handlers. Note that if we also want to load debug symbols from a separate file while doing this, the task seems to become impossible.
Spawning a new subprocess in signal handler (or at the beginning of the program) would be OK for you? If I'll came up with an async_safe_print(stacktrace()); function that may fix the broken example in docs, provide much more motivation for having non allocating stacktrace class.
2. Is its lack of thread safety on Windows a problem?
Yes, I think that is a serious problem. Though I'm not sure if Boost.Stacktrace can do something about it, except to introduce a global lock (sigh).
It is thread safe now (was not thread safe 2 months ago). -- Best regards, Antony Polukhin