summaryrefslogtreecommitdiff
path: root/gdb/event-top.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@debian.org>2008-03-05 17:21:10 +0000
committerDaniel Jacobowitz <dan@debian.org>2008-03-05 17:21:10 +0000
commit691b00f1ab0e6da785695e663d62d67746ab04dd (patch)
tree2f30b6708704799954c588175f58047bb97fc340 /gdb/event-top.c
parent41efb9e69da16fe0458ae2a5a84136e7eb1a6f16 (diff)
downloadgdb-691b00f1ab0e6da785695e663d62d67746ab04dd.tar.gz
* Makefile.in (mingw-hdep.o, posix-hdep.o, remote-fileio.o): Update.
* event-loop.c (call_async_signal_handler): New. * event-loop.h (call_async_signal_handler) (gdb_call_async_signal_handler): Declare. (mark_async_signal_handler): Add comments. * event-top.c (handle_sigint): Use gdb_call_async_signal_handler. * mingw-hdep.c (sigint_event, sigint_handler): New. (gdb_select): Use them. Wait for the readline signal handler to finish. (gdb_call_async_signal_handler, _initialize_mingw_hdep): New functions. * posix-hdep.c (gdb_call_async_signal_handler): New function. * remote-fileio.c (sigint_fileio_token, async_remote_fileio_interrupt): New. (remote_fileio_ctrl_c_signal_handler): Use gdb_call_async_signal_handler. (initialize_remote_fileio): Initialize sigint_fileio_token. * remote.c (initialize_sigint_signal_handler, handle_remote_sigint): Do not initialize tokens here. (handle_remote_sigint_twice): Likewise. Reinstall handle_remote_sigint. (async_remote_interrupt_twice): Just call interrupt_query. (cleanup_sigint_signal_handler): Do not delete tokens. (remote_interrupt, remote_interrupt_twice): Use gdb_call_async_signal_handler. (interrupt_query): Reinstall the default signal handler. (_initialize_remote): Initialize tokens here.
Diffstat (limited to 'gdb/event-top.c')
-rw-r--r--gdb/event-top.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/gdb/event-top.c b/gdb/event-top.c
index a3cc15cb743..f798eee8726 100644
--- a/gdb/event-top.c
+++ b/gdb/event-top.c
@@ -975,13 +975,9 @@ handle_sigint (int sig)
immediate_quit is set. If we didn't, SIGINT would be really
processed only the next time through the event loop. To get to
that point, though, the command that we want to interrupt needs to
- finish first, which is unacceptable. */
- if (immediate_quit)
- async_request_quit (0);
- else
- /* If immediate quit is not set, we process SIGINT the next time
- through the loop, which is fine. */
- mark_async_signal_handler_wrapper (sigint_token);
+ finish first, which is unacceptable. If immediate quit is not set,
+ we process SIGINT the next time through the loop, which is fine. */
+ gdb_call_async_signal_handler (sigint_token, immediate_quit);
}
/* Quit GDB if SIGTERM is received.