This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [rfc] Return old cleanup when doing a restore_cleanups()
- To: Andrew Cagney <ac131313 at cygnus dot com>, gdb-patches at sources dot redhat dot com
- Subject: Re: [rfc] Return old cleanup when doing a restore_cleanups()
- From: Kevin Buettner <kevinb at cygnus dot com>
- Date: Tue, 14 Aug 2001 17:36:47 -0700
- References: <3B782A6A.2050207@cygnus.com>
On Aug 13, 3:28pm, Andrew Cagney wrote:
> The attached patch tweeks the restore_cleanups() family of functions so
> that the old cleanup is returned.
>
> In theory, that returned cleanup should be NULL (since the cleanup chain
> will have been drained just prior to the restore_cleanups() call). In
> reality, I'm not too sure. I'd like to find out what the old chain was
> so I can add an assert to certain callers (e.g. catch_errors()).
>
> I guess the alternative is to just stick the assert in
> restore_cleanups() and see what breaks.
>
> Thoughts? Preference?
At the moment, the only caller of restore_cleanups() is
catch_errors(), so the assert could just as easily go in
restore_cleanups() without causing any more breakage than placing the
assert in catch_errors().
If all (future) callers of restore_cleanups are supposed to drain the
cleanup chain first, then I think the assert belongs in
restore_cleanups(). If you think there might be a good reason to
violate this rule, then the assert belongs in the caller. Personally,
I'd rather see the assert go in restore_cleanups() until someone can
demonstrate a good reason for not draining the cleanup chain.
Kevin