[cpp-threads] Slightly revised memory model proposal (D2300)
Alexander Terekhov
alexander.terekhov at gmail.com
Wed Jun 6 12:53:59 BST 2007
On 6/6/07, Nick Maclaren <nmm1 at cus.cam.ac.uk> wrote:
> "Alexander Terekhov" <alexander.terekhov at gmail.com> wrote:
> >
> > > or SIGFPE) and SIGSEGV etc.
> >
> > These are synchronous (not asynchronous) signals which C++
> > implementations are free to translate to C++ exceptions. Don't get me
> > started on std::unexpected() and C++ EH/ES, contact Dimov and/or
> > Abrahams.
>
> Yes and no.
http://h71000.www7.hp.com/doc/73final/6493/6101pro_030.html
For the signals traditionally representing synchronous errors in the
program, the Threads Library catches the signal and converts it into
an equivalent exception. This exception is then propagated up the call
stack in the current thread and can be caught and handled using the
normal exception catching mechanisms.
Table A-3 lists Tru64 UNIX signals that are reported as exceptions by
default. If any thread declares an action for one of these signals
(using sigaction(2) or equivalent), no thread in the process can
receive the exception.
Table A-3 Signals Reported as Exceptions
Signal Exception
SIGILL pthread_exc_illinstr_e
SIGIOT pthread_exc_SIGIOT_e
SIGEMT pthread_exc_SIGEMT_e
SIGFPE pthread_exc_aritherr_e
SIGBUS pthread_exc_illaddr_e
SIGSEGV pthread_exc_illaddr_e
SIGSYS pthread_exc_SIGSYS_e
SIGPIPE pthread_exc_SIGPIPE_e
regards,
alexander.
More information about the cpp-threads
mailing list