From: Vladimir Prus (ghost_at_[hidden])
Date: 2006-09-07 01:28:27
On Monday 04 September 2006 16:34, David Abrahams wrote:
> 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.
The errno point is interesting.
> 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.
I'll check with an expert, and get back ;-)
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