Boost logo

Boost :

From: Bronek Kozicki (brok_at_[hidden])
Date: 2004-07-31 10:14:04


John Maddock wrote:

> implements exception handling on top of structured exceptions (which should
> always work), where as other compiles do their own thing and rely on some
> global state to work correctly.

MSVC also implements C++ exceptions in terms of SEH. Not most efficient
and (as I have heard) MSVC8 will deliver option to replace it with some
other mechanism. I do not think that MSVC would have any problems with
exceptions handling if started with CreateThread. I believe that MS
tried to make _beginthread, _beginthreadex and CreateThread somehow
"equal" citizens, also in C++ world.

Now about SEH exceptions leaking from thread function started with
CreateThread - it's handling is implemented in core of operating system
(I'm talking here about Windows NT line of OSes). It's totally
independent of CRT and will result in process termination (ExitProcess).
If thread has been started with CRT (_beginthread) result is virtually
the same - exception won't reach OS, but only because CRT will catch it
and call _exit.

B.


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