aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Prus <vladimir@codesourcery.com>2008-07-12 13:42:54 +0000
committerVladimir Prus <vladimir@codesourcery.com>2008-07-12 13:42:54 +0000
commitd56b7306e3b1a0d6eccae32f0f25d4a291c77ef2 (patch)
tree1b25b1258c2f9ef08aa0f6c5e4c556d81a30635a
parentb1a268e5b41dbdedca7e84bdb442dbe42d6de00b (diff)
downloadgdb-d56b7306e3b1a0d6eccae32f0f25d4a291c77ef2.zip
gdb-d56b7306e3b1a0d6eccae32f0f25d4a291c77ef2.tar.gz
gdb-d56b7306e3b1a0d6eccae32f0f25d4a291c77ef2.tar.bz2
* infrun.c (resume): Discard cleanups on early exit path.
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/infrun.c11
2 files changed, 11 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5fed053..89072a6 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,9 @@
2008-07-12 Vladimir Prus <vladimir@codesourcery.com>
+ * infrun.c (resume): Discard cleanups on early exit path.
+
+2008-07-12 Vladimir Prus <vladimir@codesourcery.com>
+
* infrun.c (normal_stop): For MI, report which threads
were stopped.
diff --git a/gdb/infrun.c b/gdb/infrun.c
index 5473c99..07b34fd 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -969,10 +969,13 @@ a command like `return' or `jump' to continue execution."));
&& sig == TARGET_SIGNAL_0)
{
if (!displaced_step_prepare (inferior_ptid))
- /* Got placed in displaced stepping queue. Will be resumed
- later when all the currently queued displaced stepping
- requests finish. */
- return;
+ {
+ /* Got placed in displaced stepping queue. Will be resumed
+ later when all the currently queued displaced stepping
+ requests finish. */
+ discard_cleanups (old_cleanups);
+ return;
+ }
}
if (step && gdbarch_software_single_step_p (gdbarch))