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