RE: [boost] Re: boost::execution_monitor impl under windows
by carlos pizano other posts by this author
Sep 21 2003 4:45AM messages near this date
RE: [boost] Re: boost::execution_monitor impl under windows
|
[boost] Re: boost::execution_monitor impl under windows
> I don't know what execution_monitor is doing, but the
> _set_se_translator technique described in
> http://www.boost.org/more/error_handling.html doesn't require /EHa.
Dave, I think we are talking about the same _set_se_translator
I did a quick check and the MSDN documentation that comes with my
compiler (VC.Net 2003) says:
" Use /EHa instead of /EHsc when using _set_se_translator."
I don't see any qualification to this warning on the docs.
Moreover, I did a quick console application with _set_se_translator and
during compile I get:
warning C4535: calling _set_se_translator() requires /EHa
the command line options /EHc and /GX are insufficient
Are you using maybe an earlier compiler?
CPU.
-----Original Message-----
From: boost-bounces@[...].org
[mailto:boost-bounces@[...].org] On Behalf Of David Abrahams
Sent: Saturday, September 20, 2003 8:06 PM
To: boost@[...].org
Subject: [boost] Re: boost::execution_monitor impl under windows
"carlos pizano" <carlospizano@[...].com> writes:
> Hello Boosters. I am looking into the boost.test library for insights.
> In particular I like the boost::execution_monitor idea. However, I
found
> that on Windows + VC execution_monitor implementation uses
> _set_se_translator() to translate native exceptions (SEHs) into C++
> exceptions, and I was fine with that for a while until I stumbled unto
> John Robbins book : "Debugging applications for Microsoft .NET and for
> Microsoft Windows" (Microsoft Press, 2003) chapter 13 specifically in
> pg. 524 he has section named "Don't Use _set_se_translator" where he
> goes to say that _set_se_translator:
>
> 1- Is not global, works only on a per thread basis
> 2- Does not work in release builds (!!)
> 3- Forces your code to use asynchronous exception handling (/EHa),
which
> reduces performance and maybe increases code bloat.
>
> I don't really understand why #2 but #3 is the one I don't like. I
guess
> my question is twofold: a) why is execution_monitor using
> _set_se_translator, and b) why can't we change it to a model that
allows
> me to compile with sync exceptions (/EHs), that is, a model where we
> *carefully* mix SEH and C++ EH. I am willing to submit ideas for that
> scenario.
I don't know what execution_monitor is doing, but the
_set_se_translator technique described in
http://www.boost.org/more/error_handling.html doesn't require /EHa.
In fact, if the execution_monitor is using some other kind of SEH
catching where it tries to continue, I think it's a very bad idea
(hard for developers to debug and further results are unreliable
anyway because there's been a crash) and should be changed to use the
one outlined above.
--
Dave Abrahams
Boost Consulting
www.boost-consulting.com
_______________________________________________
Unsubscribe & other changes:
http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Thread:
carlos pizano
David Abrahams
David Abrahams
Holger Grund
Holger Grund
Holger Grund
Holger Grund
David Abrahams
Carl Daniel
carlos pizano
carlos pizano
David Abrahams
carlos pizano
carlos pizano
carlos pizano
Carl Daniel
Carl Daniel
carlos pizano
|