C++ Logo

SG12

Advanced search

Subject: Re: [ub] Draft 1 of Stackable, Thread Local, Signal Guards
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2019-06-03 16:19:27


> Really interesting breakdown, thanks for going through it. Can you
> provide links to each of the categories above (in your updated paper)?

I'm unsure of the value add to a proposal paper, personally. It was
useful research to prove that people are still actively using signal()
in new code so we can't deprecate it, but it's POSIX signal(), not C
signal() that they're using. I didn't find a single case yet anywhere
which uses C signal() correctly.

> I'm interested in seeing what you suggest w.r.t. multithreaded. Or
> rather, which of signal's problems you fix (and how), and which remain
> (and why).

The main goal will now be (a) installable and uninstallable global
handlers which are threadsafe and (b) per-thread handlers. The whole
thing will be filtering based and stackable, so if your handler decides
not to handle it, the runtime keeps running it up the flag pole until
some handler says it'll take it. This is literally Win32 structured and
vectored exception handling. I won't be innovating, I'll be replicating
what Microsoft have been doing for more than a decade.

Be aware that because of the refactoring work now necessary to the
reference implementation, and my current severe lack of free time, this
proposal is now bumped to Belfast. Sorry.

Niall


SG12 list run by herb.sutter at gmail.com