Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2002-08-14 14:25:12


From: "Peter Dimov" <pdimov_at_[hidden]>

> From: "David Abrahams" <dave_at_[hidden]>
> > From: "Peter Dimov" <pdimov_at_[hidden]>
> >
> > > From: "Anthony Williams" <anthwil_at_[hidden]>
> > > >
> > > > In general, it is not possible to propagate arbitrary exceptions
> across
> > > thread
> > > > boundaries [...]
> > >
> > > ... without compiler support. "Ordinary" exception handling already
> > provides
> > > the necessary primitives.
> >
> > Seriously? Care to give an outline of how that would work using
existing
> > constructs?
>
> Well, I am not a compiler writer, but it seems to me that to implement
> "throw;" and "catch", the compiler already needs a way to copy the
> exception, complete with its original type. :-)

Of course, but there's a lot more to it than that!
How would you use the existing constructs to propagate an exception across
threads? Show me the code that should have the semantics you'd like to see.
In particular, please show how the exception arrives at its destination.

-Dave

-----------------------------------------------------------
           David Abrahams * Boost Consulting
dave_at_[hidden] * http://www.boost-consulting.com


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