Pedro Alves | 4 Dec 2008 22:33

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


Gmane