Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2006-09-04 08:34:41


David Abrahams <dave_at_[hidden]> writes:

> [Taking this back to the boost.build list where it belongs]
>
> "MANSION, James, GBM" <James.MANSION_at_[hidden]> writes:
>
>> # Even where Python itself uses pthreads, it never allows
>> # extension modules to be entered concurrently (unless they
>> # explicitly give up the interpreter lock). Therefore,
>> # extension modules don't need the efficiency overhead of
>> # threadsafe code as produced by <threading>multi, and we
>> # handle libpthread along with other libraries here.
>>
>> Is that absolutely right? I mean, errno is sometimes different if
>> you are a single-threaded or multi-threaded build,
>
> In what way is errno different?

James wasn't allowed to post to this list, and I quite impolitely
forwarded his comments here, for which I have apologized. But he has
a point. Suffice it to say that he convinced me <threading>multi is
required in general, even if on many systems it can probably be left
out for many programs. Basically -mt has to be assumed to change the
ABI used by the standard library.

So I think <threading>multi should be the default way to link with
pthreads, and the user should have to supply an explicit override if
she wants to live dangerously.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk