From: Frank Mori Hess (fmhess_at_[hidden])
Date: 2008-04-20 15:48:52
On Sunday 20 April 2008 15:07, Sebastian Redl wrote:
> This is still too simple, unfortunately. Replacing the cleanup function
> is a good idea, but it's not enough to get around the limitations of
> this method. I played around with it all day today.
Yes, it needs to do something like create another copy of the exception_ptr
which is deleted by the exception_cleanup function.
> I'm currently trying my next play: I need more data reachable from the
> exception object, so I'm going to make it reachable. My plan is to let
> the cleanup function pointer point to a structure whose first bytes
> contain the code of a function that simply returns. In other words, I
> hide more data behind the cleanup function. Wish me luck. :-)
Another thing that's occurred to me is, are there license issues with
boost-licensed code using internal interfaces in libsupc++? Maybe the
best route is to just send a patch to the gcc people that implements
exception_ptr as a gnu extension? That would also give you more freedom
in your implementation choices.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk