Boost logo

Boost :

Subject: Re: [boost] [context review]
From: Oliver Kowalke (oliver.kowalke_at_[hidden])
Date: 2011-03-25 07:30:06


> A stack can only be safely deallocated if either has been completely
> unwound or if it doesn't own any resources (note that is not enough to
> just destroy any stack allocated object). Context should either:

> a)
> provide an interface to unwind the stack (by automatically trowing a
> special exception for example), or

After some thoughts: I can provide a function returning if the function has returned normaly (==finished) or was left by a jump.

bool context::finished() const;

I think that using an exception for stack unwinding is false because if can easly catched by try/catch(...) clause and then this code might not be give the exceution back/does arbitrary thing.
I beleive it would be correct to use the unwind informations on the stack to do an stack unwinding (using DWARF-based unwinding).

regards,
Oliver

-- 
GMX DSL Doppel-Flat ab 19,99 Euro/mtl.! Jetzt mit 
gratis Handy-Flat! http://portal.gmx.net/de/go/dsl

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