From 43ff13b4182f3853e19e9100c84313a6e9302b70 Mon Sep 17 00:00:00 2001 From: Jason Molenda Date: Mon, 5 Jul 1999 17:58:44 +0000 Subject: import gdb-1999-07-05 snapshot --- gdb/event-loop.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'gdb/event-loop.c') diff --git a/gdb/event-loop.c b/gdb/event-loop.c index 1e22e06..3f15da5 100644 --- a/gdb/event-loop.c +++ b/gdb/event-loop.c @@ -290,6 +290,7 @@ gdb_do_one_event () } return result; } + /* Start up the event loop. This is the entry point to the event loop from the command loop. */ @@ -752,26 +753,27 @@ invoke_async_signal_handler () Free the space allocated for it. */ void delete_async_signal_handler (async_handler_ptr) - async_signal_handler *async_handler_ptr; + async_signal_handler **async_handler_ptr; { async_signal_handler *prev_ptr; - if (sighandler_list.first_handler == async_handler_ptr) + if (sighandler_list.first_handler == (*async_handler_ptr)) { - sighandler_list.first_handler = async_handler_ptr->next_handler; + sighandler_list.first_handler = (*async_handler_ptr)->next_handler; if (sighandler_list.first_handler == NULL) sighandler_list.last_handler = NULL; } else { prev_ptr = sighandler_list.first_handler; - while (prev_ptr->next_handler != async_handler_ptr) + while (prev_ptr->next_handler != (*async_handler_ptr) && prev_ptr) prev_ptr = prev_ptr->next_handler; - prev_ptr->next_handler = async_handler_ptr->next_handler; - if (sighandler_list.last_handler == async_handler_ptr) + prev_ptr->next_handler = (*async_handler_ptr)->next_handler; + if (sighandler_list.last_handler == (*async_handler_ptr)) sighandler_list.last_handler = prev_ptr; } - free ((char *) async_handler_ptr); + free ((char *) (*async_handler_ptr)); + (*async_handler_ptr) = NULL; } /* Is it necessary to call invoke_async_signal_handler? */ -- cgit v1.1