Remove the global stop_step in favour of a per-thread

stop_step.

	* inferior.h (stop_step): Delete.

	* gdbthread.h (struct thread_info): Add comments to stop_step.
	(save_infrun_state, load_infrun_state): Remove stop_step argument.
	* thread.c (load_infrun_state, save_infrun_state): Remove
	stop_step argument, and references to it.

	* infrun.c (clear_proceed_status): Clear stop_step.
	(fetch_inferior_event): Adjust.
	(context_switch): Don't context-switch stop_step.
	(handle_inferior_event): Adjust.
	(normal_stop): Adjust.
	(save_inferior_status, restore_inferior_status): Adjust.

	* infcmd.c (stop_step): Delete.
	(step_1, step_1_continuation, step_once, until_next_command):
	Adjust.
This commit is contained in:
Pedro Alves
2008-09-08 21:55:16 +00:00
parent af679fd003
commit 414c69f7a7
6 changed files with 53 additions and 40 deletions

View File

@ -146,6 +146,8 @@ struct thread_info
int proceed_to_finish;
enum step_over_calls_kind step_over_calls;
/* Nonzero if stopped due to a step command. */
int stop_step;
/* If stepping, nonzero means step count is > 1 so don't print frame
@ -226,15 +228,13 @@ extern int thread_count (void);
/* infrun context switch: save the debugger state for the given thread. */
extern void save_infrun_state (ptid_t ptid,
struct continuation *continuations,
struct continuation *intermediate_continuations,
int stop_step);
struct continuation *intermediate_continuations);
/* infrun context switch: load the debugger state previously saved
for the given thread. */
extern void load_infrun_state (ptid_t ptid,
struct continuation **continuations,
struct continuation **intermediate_continuations,
int *stop_step);
struct continuation **intermediate_continuations);
/* Switch from one thread to another. */
extern void switch_to_thread (ptid_t ptid);