This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: call_function_by_hand doesn't restore target async?
On Thursday 04 December 2008 21:23:16, Pedro Alves wrote:
> Right, it doesn't. ?inf-loop.c:inferior_event_handler has a
> drastic attitude about exceptions --- it always pops the target, which
> means that a cleanup will would most of the times set the async mask
> in the wrong target, and thus say, e.g., remote_async_mask_value
> will still be left dangling... ?I think that adjusting the
> target_wait interface like described above would be the best way
> to fix this.
Hmmm, sorry, that's a thinko. When doing an infcall, of course you
don't go through fetch_inferior_event... So a cleanup would indeed
fix most cases, although a few times, like when remote.c pops the
target due to losing the connection, a cleanup wil still set the
async mask in the wrong target. (The parameter to target_wait
would solve this 100%).
Don't you love having two ways to do the same thing?
--
Pedro Alves