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))