2016-04-12 Pedro Alves <palves@redhat.com>
+ * utils.c (defaulted_query, prompt_for_continue): Free temporary
+ strings with cleanups, instead of xfree.
+
+2016-04-12 Pedro Alves <palves@redhat.com>
+
+ * utils.c (vwarning, internal_vproblem): Use
+ make_cleanup_restore_target_terminal and
+ target_terminal_ours_for_output.
+
+2016-04-12 Pedro Alves <palves@redhat.com>
+
+ * infcmd.c (post_create_inferior, prepare_one_step): Use
+ target_terminal_ours_for_output instead of target_terminal_ours.
+
+2016-04-12 Pedro Alves <palves@redhat.com>
+
+ * exceptions.c (print_flush): Use target_terminal_ours_for_output
+ instead of target_terminal_ours, and restore target terminal with
+ a cleanup.
+
+2016-04-12 Pedro Alves <palves@redhat.com>
+
+ * cp-support.c (gdb_demangle): Use target_terminal_ours_for_output
+ instead of target_terminal_ours, and restore target terminal with
+ a cleanup.
+
+2016-04-12 Pedro Alves <palves@redhat.com>
+
+ * ada-lang.c (type_as_string, type_as_string_and_cleanup): New
+ functions.
+ (ada_lookup_struct_elt_type): Use type_as_string_and_cleanup.
+
+2016-04-12 Pedro Alves <palves@redhat.com>
+
+ * ser-base.c (fd_event): Retry read_prim on EINTR.
+ (do_ser_base_readchar): Retry read_prim on EINTR.
+ (ser_base_write): Retry write_prim on EINTR.
+ * ser-unix.c (ser_unix_read_prim): Don't retry on EINTR here.
+ (ser_unix_write_prim): Remove comment.
+
+2016-04-12 Pedro Alves <palves@redhat.com>
+
+ * remote.c (remote_pass_ctrlc): New function.
+ (init_remote_ops): Install it.
+ * target.c (target_terminal_inferior): Pass pending Ctrl-C to the
+ target.
+ (target_pass_ctrlc, default_target_pass_ctrlc): New functions.
+ * target.h (struct target_ops) <to_pass_ctrlc>: New method.
+ (target_pass_ctrlc, default_target_pass_ctrlc): New declarations.
+ * target-delegates.c: Regenerate.
+
+2016-04-12 Pedro Alves <palves@redhat.com>
+
+ * infcmd.c (interrupt_target_1): Call target_stop is in non-stop
+ mode.
+ * linux-nat.c (linux_nat_interrupt): Delete.
+ (linux_nat_add_target): Don't install linux_nat_interrupt.
+ * remote.c (remote_interrupt_ns): Change return type to void.
+ Throw error if interrupting the target is not supported.
+ (remote_interrupt): Don't call the remote_stop_ns/remote_stop_as.
+
+2016-04-12 Pedro Alves <palves@redhat.com>
+
+ * defs.h (clear_quit_flag): Remove declaration.
+ * extension-priv.h (struct extension_language_ops)
+ <clear_quit_flag>: Remove field and update comments.
+ * extension.c (clear_quit_flag): Delete.
+ * guile/guile.c (guile_extension_ops): Adjust.
+ * python/python.c (python_extension_ops): Adjust.
+ (gdbpy_clear_quit_flag): Delete.
+
+2016-04-12 Pedro Alves <palves@redhat.com>
+
+ * main.c (captured_main): Don't clear the quit flag.
+
+2016-04-12 Pedro Alves <palves@redhat.com>
+
+ * exceptions.c (prepare_to_throw_exception): Don't clear the quit
+ flag.
+
+2016-04-12 Pedro Alves <palves@redhat.com>
+
+ * event-top.c (command_handler): Don't call clear_quit_flag.
+
+2016-04-12 Pedro Alves <palves@redhat.com>
+
+ * remote-sim.c (gdb_os_poll_quit): Don't call clear_quit_flag.
+ * remote.c (remote_wait_as): Don't call clear_quit_flag.
+
+2016-04-12 Pedro Alves <palves@redhat.com>
+
+ * python/python.c: Include "ser-event.h".
+ (gdbpy_event_fds): Delete.
+ (gdbpy_serial_event): New.
+ (gdbpy_run_events): Change prototype. Use serial_event_clear
+ instead of serial_readchar.
+ (gdbpy_post_event): Use serial_event_set instead of serial_write.
+ (gdbpy_initialize_events): Use make_serial_event instead of
+ serial_pipe.
+
+2016-04-12 Pedro Alves <palves@redhat.com>
+
+ * defs.h: Extend QUIT-related comments to mention
+ interruptible_select.
+ (quit_serial_event_set, quit_serial_event_clear): Declare.
+ * event-top.c: Include "ser-event.h" and "gdb_select.h".
+ (quit_serial_event): New global.
+ (async_init_signals): Make quit_serial_event.
+ (quit_serial_event_set, quit_serial_event_clear)
+ (quit_serial_event_fd, interruptible_select): New functions.
+ * extension.c (set_quit_flag): Set the quit serial event.
+ (check_quit_flag): Clear the quit serial event.
+ * gdb_select.h (interruptible_select): New declaration.
+ * guile/scm-ports.c (ioscm_input_waiting): Use
+ interruptible_select instead of gdb_select.
+ * top.c (gdb_readline_no_editing): Likewise.
+ * ui-file.c (stdio_file_read): Likewise.
+
+2016-04-12 Pedro Alves <palves@redhat.com>
+
+ * event-loop.c: Include "ser-event.h".
+ (async_signal_handlers_serial_event): New global.
+ (async_signals_handler, initialize_async_signal_handlers): New
+ functions.
+ (mark_async_signal_handler): Set
+ async_signal_handlers_serial_event.
+ (invoke_async_signal_handlers): Clear
+ async_signal_handlers_serial_event.
+ * event-top.c (async_init_signals): Call
+ initialize_async_signal_handlers.
+
+2016-04-12 Pedro Alves <palves@redhat.com>
+
+ * Makefile.in (SFILES): Add ser-event.c.
+ (HFILES_NO_SRCDIR): Add ser-event.h.
+ (COMMON_OBS): Add ser-event.o.
+ * ser-event.c, ser-event.h: New files.
+ * serial.c (new_serial): New function, factored out from
+ (serial_fdopen_ops): ... this.
+ (serial_open_ops_1): New function, factored out from
+ (serial_open): ... this.
+ (serial_open_ops): New function.
+ * serial.h (struct serial): Forware declare.
+ (serial_open_ops): New declaration.
+
+2016-04-12 Pedro Alves <palves@redhat.com>
+
* serial.c (serial_open, serial_fdopen_ops, do_serial_close):
Remove references to name.
* serial.h (struct serial) <name>: Delete.