From 585a46a2d01d25181926329f258f1d1374f93e99 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Tue, 12 Apr 2016 16:49:32 +0100 Subject: Eliminate immediate_quit This finally gets rid of immediate_quit (and surrounding infrustruture), as nothing sets it anymore. gdb_call_async_signal_handler was only necessary in order to handle immediate_quit. We can just call mark_async_signal_handler directly on all hosts now. In turn, we can clean up mingw-hdep.c's gdb_select a bit, as sigint_event / sigint_handler is no longer needed. gdb/ChangeLog: 2016-04-12 Pedro Alves * defs.h: Update comments on SIGINT handling. (immediate_quit): Delete declaration. * event-loop.c (call_async_signal_handler): Delete. * event-loop.h (call_async_signal_handler): Delete declaration. (mark_async_signal_handler): Update comments. (gdb_call_async_signal_handler): Delete declaration. * event-top.c (handle_sigint): Call mark_async_signal_handler instead of gdb_call_async_signal_handler. * exceptions.c (prepare_to_throw_exception): Remove reference to immediate_quit. (exception_fprintf): Remove comments about immediate_quit. * mingw-hdep.c (sigint_event, sigint_handler): Delete. (gdb_select): Don't wait on sigint_event. (gdb_call_async_signal_handler): Delete. (_initialize_mingw_hdep): Delete. * posix-hdep.c (gdb_call_async_signal_handler): Delete. * utils.c (immediate_quit): Delete. --- gdb/defs.h | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'gdb/defs.h') diff --git a/gdb/defs.h b/gdb/defs.h index 83e4e11..482ef1c 100644 --- a/gdb/defs.h +++ b/gdb/defs.h @@ -125,11 +125,10 @@ extern char *python_libdir; /* * Search path for separate debug files. */ extern char *debug_file_directory; -/* GDB has two methods for handling SIGINT. When immediate_quit is - nonzero, a SIGINT results in an immediate longjmp out of the signal - handler. Otherwise, SIGINT simply sets a flag; code that might - take a long time, and which ought to be interruptible, checks this - flag using the QUIT macro. +/* GDB's SIGINT handler basically sets a flag; code that might take a + long time before it gets back to the event loop, and which ought to + be interruptible, checks this flag using the QUIT macro, which, if + GDB has the terminal, throws a quit exception. In addition to setting a flag, the SIGINT handler also marks a select/poll-able file descriptor as read-ready. That is used by @@ -176,8 +175,6 @@ extern void default_quit_handler (void); /* Flag that function quit should call quit_force. */ extern volatile int sync_quit_force_run; -extern int immediate_quit; - extern void quit (void); /* Helper for the QUIT macro. */ -- cgit v1.1