mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-21 10:02:26 +00:00
* inf-loop.c (inferior_event_handler): On INF_ERROR and
INF_REG_EVENT throwing, don't call target_async or pop_target. Call pop_all_targets_above. * remote.c (remote_close): Call remote_terminal_ours. Don't call signal or target_async.
This commit is contained in:
parent
1c9f699cd9
commit
d3fd534293
@ -1,3 +1,11 @@
|
||||
2008-11-04 Pedro Alves <pedro@codesourcery.com>
|
||||
|
||||
* inf-loop.c (inferior_event_handler): On INF_ERROR and
|
||||
INF_REG_EVENT throwing, don't call target_async or pop_target.
|
||||
Call pop_all_targets_above.
|
||||
* remote.c (remote_close): Call remote_terminal_ours. Don't call
|
||||
signal or target_async.
|
||||
|
||||
2008-11-04 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* eval.c (evaluate_subexp_standard): Assert that there is at
|
||||
|
@ -50,8 +50,7 @@ inferior_event_handler (enum inferior_event_type event_type,
|
||||
{
|
||||
case INF_ERROR:
|
||||
printf_unfiltered (_("error detected from target.\n"));
|
||||
target_async (NULL, 0);
|
||||
pop_target ();
|
||||
pop_all_targets_above (file_stratum, 0);
|
||||
discard_all_intermediate_continuations ();
|
||||
discard_all_continuations ();
|
||||
async_enable_stdin ();
|
||||
@ -65,8 +64,7 @@ inferior_event_handler (enum inferior_event_type event_type,
|
||||
if (!catch_errors (fetch_inferior_event_wrapper,
|
||||
client_data, "", RETURN_MASK_ALL))
|
||||
{
|
||||
target_async (NULL, 0);
|
||||
pop_target ();
|
||||
pop_all_targets_above (file_stratum, 0);
|
||||
discard_all_intermediate_continuations ();
|
||||
discard_all_continuations ();
|
||||
async_enable_stdin ();
|
||||
|
21
gdb/remote.c
21
gdb/remote.c
@ -232,6 +232,8 @@ static int peek_stop_reply (ptid_t ptid);
|
||||
static void remote_async_inferior_event_handler (gdb_client_data);
|
||||
static void remote_async_get_pending_events_handler (gdb_client_data);
|
||||
|
||||
static void remote_terminal_ours (void);
|
||||
|
||||
/* The non-stop remote protocol provisions for one pending stop reply.
|
||||
This is where we keep it until it is acknowledged. */
|
||||
|
||||
@ -2287,18 +2289,15 @@ extended_remote_restart (void)
|
||||
static void
|
||||
remote_close (int quitting)
|
||||
{
|
||||
if (remote_desc)
|
||||
{
|
||||
/* Unregister the file descriptor from the event loop. */
|
||||
if (target_is_async_p ())
|
||||
target_async (NULL, 0);
|
||||
serial_close (remote_desc);
|
||||
remote_desc = NULL;
|
||||
}
|
||||
if (remote_desc == NULL)
|
||||
return; /* already closed */
|
||||
|
||||
/* Make sure we don't leave the async SIGINT signal handler
|
||||
installed. */
|
||||
signal (SIGINT, handle_sigint);
|
||||
/* Make sure we leave stdin registered in the event loop, and we
|
||||
don't leave the async SIGINT signal handler installed. */
|
||||
remote_terminal_ours ();
|
||||
|
||||
serial_close (remote_desc);
|
||||
remote_desc = NULL;
|
||||
|
||||
/* We don't have a connection to the remote stub anymore. Get rid
|
||||
of all the inferiors and their threads we were controlling. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user