Introduce target_{stop,continue}_ptid
This commit introduces two new functions to stop and restart target processes that shared code can use and that clients must implement. It also changes some shared code to use these functions. gdb/ChangeLog: * target/target.h (target_stop_ptid, target_continue_ptid): Declare. * target.c (target_stop_ptid, target_continue_ptid): New functions. * common/agent.c [!GDBSERVER]: Don't include infrun.h. (agent_run_command): Always use target_stop_ptid and target_continue_ptid. gdb/gdbserver/ChangeLog: * target.c (target_stop_ptid, target_continue_ptid): New functions.
This commit is contained in:
parent
721ec300e1
commit
f8c1d06b82
6 changed files with 85 additions and 35 deletions
|
@ -134,6 +134,38 @@ mywait (ptid_t ptid, struct target_waitstatus *ourstatus, int options,
|
|||
return ret;
|
||||
}
|
||||
|
||||
/* See target/target.h. */
|
||||
|
||||
void
|
||||
target_stop_ptid (ptid_t ptid)
|
||||
{
|
||||
struct target_waitstatus status;
|
||||
int was_non_stop = non_stop;
|
||||
struct thread_resume resume_info;
|
||||
|
||||
resume_info.thread = ptid;
|
||||
resume_info.kind = resume_stop;
|
||||
resume_info.sig = GDB_SIGNAL_0;
|
||||
(*the_target->resume) (&resume_info, 1);
|
||||
|
||||
non_stop = 1;
|
||||
mywait (ptid, &status, 0, 0);
|
||||
non_stop = was_non_stop;
|
||||
}
|
||||
|
||||
/* See target/target.h. */
|
||||
|
||||
void
|
||||
target_continue_ptid (ptid_t ptid)
|
||||
{
|
||||
struct thread_resume resume_info;
|
||||
|
||||
resume_info.thread = ptid;
|
||||
resume_info.kind = resume_continue;
|
||||
resume_info.sig = GDB_SIGNAL_0;
|
||||
(*the_target->resume) (&resume_info, 1);
|
||||
}
|
||||
|
||||
int
|
||||
start_non_stop (int nonstop)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue