Boost logo

Boost :

Subject: Re: [boost] [Stacktrace] review, please stop discussing non-Stacktrace issues
From: Peter Dimov (lists_at_[hidden])
Date: 2016-12-17 12:47:08


Antony Polukhin wrote:
> Actually, it's the other way around: everything is async-signal unsafe
> https://msdn.microsoft.com/en-us/en-en/library/xdkz3x12.aspx :
>
> "Do not use any function that generates a system call (for example,
> _getcwd or time)."

There are no signals on Windows. They just don't exist. The signal function
is provided by the C runtime and emulates signals.

The closest thing to a signal are the Ctrl+C and Ctrl+Break keyboard
interrupts, and they spawn a new thread to call the handler, instead of
reusing one as a POSIX signal would do.

> Anyway, if you do not wish to use C++ runtime after a crash, you
> definitely would not like to use COM in that place (so std::string in the
> interface does not make a big difference).

The runtime and COM have nothing in common. If your program crashes
somewhere in the runtime, the runtime may be unusable from that point on,
but this does not affect COM at all. And if you crash somewhere in a COM
component, that particular component may or may not be usable from that
point on, but this does not necessarily affect COM as a whole. You can still
use COM.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk