Subject: Re: [boost] [threads] Launch deferred for async
From: Stephan Menzel (stephan.menzel_at_[hidden])
Date: 2018-11-27 06:24:06
On Tue, Nov 27, 2018 at 4:06 AM Gavin Lambert via Boost <
> > To me this sounds like the application will always std::terminate() when
> > launch::deferred is chosen. Why is that?
> This implementation appears to be conditioned on
> BOOST_THREAD_PROVIDES_VARIADIC_THREAD -- it's implemented "properly"
> when that is defined.
In order to get that defined, you must be using at least a C++11
> conformant compiler (and compilation mode) and have explicitly defined
> the following in all translation units that use Boost.Thread (prior to
> including it):
> #define BOOST_THREAD_VERSION 4
Ah, this explains it. I have BOOST_THREAD_VERSION 3 explicitly defined
because I couldn't be having with some of the version 4 behavior. Which is
why I prefer boost threads over std threads in the first place.
Thanks for the heads up. I will try to re-evaluate if I should go for
version 4 after all but as I recall there were some strong reasons not to
do it. At least now I know what I'm trading in for that.