From d56b7306e3b1a0d6eccae32f0f25d4a291c77ef2 Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Sat, 12 Jul 2008 13:42:54 +0000 Subject: [PATCH] * infrun.c (resume): Discard cleanups on early exit path. --- gdb/ChangeLog | 4 ++++ gdb/infrun.c | 11 +++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 5fed05387b1..89072a6d180 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2008-07-12 Vladimir Prus + + * infrun.c (resume): Discard cleanups on early exit path. + 2008-07-12 Vladimir Prus * infrun.c (normal_stop): For MI, report which threads diff --git a/gdb/infrun.c b/gdb/infrun.c index 5473c998d45..07b34fd54fc 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)) -- 2.30.2