summaryrefslogtreecommitdiff
path: root/gdb/infcall.c
diff options
context:
space:
mode:
authorVladimir Prus <vladimir@codesourcery.com>2008-06-13 20:19:19 +0000
committerVladimir Prus <vladimir@codesourcery.com>2008-06-13 20:19:19 +0000
commitbef29bb9f154e9d4e5b815d3628639f4e2009fc6 (patch)
tree006e6a3a95e67565bf20e5d57480fe392eb28562 /gdb/infcall.c
parentd6e744335076c2d1b40f4194bb1e466bebe0f42e (diff)
downloadgdb-bef29bb9f154e9d4e5b815d3628639f4e2009fc6.tar.gz
Don't suppress *running when doing finish.
* infcall.c (call_function_by_hand): Set both suppress_resume_observer and suppress_stop_observer. * infcmd.c (suppress_run_stop_observers): Split into... (suppress_resume_observer, suppress_stop_observer): ...those. (finish_command_continuation): Clear suppress_stop_observer. (finish_command): Set suppress_stop_observer. * inferior.h (suppress_run_stop_observers): Split into... (suppress_resume_observer, suppress_stop_observer): ...those. * infrun.c (normal_stop): Check for suppress_stop_observer. * thread.c (set_running): Check for suppress_resume_observer.
Diffstat (limited to 'gdb/infcall.c')
-rw-r--r--gdb/infcall.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gdb/infcall.c b/gdb/infcall.c
index 33a098ff59e..559b4a2e7b9 100644
--- a/gdb/infcall.c
+++ b/gdb/infcall.c
@@ -720,9 +720,10 @@ call_function_by_hand (struct value *function, int nargs, struct value **args)
if (target_can_async_p ())
saved_async = target_async_mask (0);
- old_cleanups2 = make_cleanup_restore_integer
- (&suppress_run_stop_observers);
- suppress_run_stop_observers = 1;
+ old_cleanups2 = make_cleanup_restore_integer (&suppress_resume_observer);
+ suppress_resume_observer = 1;
+ make_cleanup_restore_integer (&suppress_stop_observer);
+ suppress_stop_observer = 1;
proceed (real_pc, TARGET_SIGNAL_0, 0);
do_cleanups (old_cleanups2);