Boost logo

Boost :

From: scleary_at_[hidden]
Date: 2001-11-16 09:45:17


> From: David Abrahams [mailto:david.abrahams_at_[hidden]]
>
> > From: <scleary_at_[hidden]>
> >
> > Second: I don't see how these systems could possibly claim to be
conforming
> > anyway -- I have the usual questions about the guarantee of observable
> > behaviour, side effects, and sequence points -- which I'm sure you've
heard
> > before. My question: why can't these guarantees be used to prevent
problems
> > with double-checked locking?
>
> Simply: because the standard doesn't apply to multithreaded or
> multiprocessor systems. Threading isn't covered, so if you make a
> multiprocessor system it's an extension, and you can define any behavior
you
> like.

No, threading is not covered. But the Standard does guarantee that at a
sequence point, all side-effects (including memory writes) are consistent.
The whole problem with DCL is that some systems re-order those writes in a
write cache, and flush them occasionally -- my point is that that behaviour
is not Standard-conforming. As I see it, anyway :)

        -Steve


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk