This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug gdb/17627] In MI all-stop/mi-async off mode, a thread exit make the prompt (kind of) return, but it shouldn't
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: Wed, 10 Dec 2014 18:05:29 +0000
- Subject: [Bug gdb/17627] In MI all-stop/mi-async off mode, a thread exit make the prompt (kind of) return, but it shouldn't
- Auto-submitted: auto-generated
- References: <bug-17627-4717 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=17627
--- Comment #5 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".
The branch, master has been updated
via 1abf3a143773819e195fceaa485060dcac9e6089 (commit)
from f4943d8253e8c9c539fd72d23e94a65f84c92d1a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1abf3a143773819e195fceaa485060dcac9e6089
commit 1abf3a143773819e195fceaa485060dcac9e6089
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Wed Dec 10 13:03:47 2014 -0500
Restore terminal state in mi_thread_exit (PR gdb/17627)
When a thread exits, the terminal is left in mode "terminal_is_ours"
while the target executes. This patch fixes that.
We need to manually restore the terminal setting in this particular
observer. In the case of the other MI observers that call
target_terminal_ours, gdb will end up resuming the inferior later in the
execution and call target_terminal_inferior. In the case of the thread
exit event, we still need to call target_terminal_ours to be able to
print something, but there is nothing that gdb will need to resume after
that. We therefore need to call target_terminal_inferior ourselves.
gdb/ChangeLog:
PR gdb/17627
* target.c (cleanup_restore_target_terminal): New function.
(make_cleanup_restore_target_terminal): New function.
* target.h (make_cleanup_restore_target_terminal): New
declaration.
* mi/mi-interp.c (mi_thread_exit): Use the new cleanup.
Signed-off-by: Simon Marchi <simon.marchi@ericsson.com>
-----------------------------------------------------------------------
Summary of changes:
gdb/ChangeLog | 8 ++++++++
gdb/mi/mi-interp.c | 4 ++++
gdb/target.c | 34 ++++++++++++++++++++++++++++++++++
gdb/target.h | 4 ++++
4 files changed, 50 insertions(+), 0 deletions(-)
--
You are receiving this mail because:
You are on the CC list for the bug.