diff options
author | Daniel Jacobowitz <drow@false.org> | 2003-10-13 16:17:21 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2003-10-13 16:17:21 +0000 |
commit | 64386c31df79fa199254c3099a9ca70b9bd2839e (patch) | |
tree | eeefbc5d37bb7e0217db49787e6988afe18cbb23 /gdb/gdbserver/target.h | |
parent | 86d30acc85894c68f2b6f6875a5650bfabfc72f1 (diff) | |
download | gdb-64386c31df79fa199254c3099a9ca70b9bd2839e.zip gdb-64386c31df79fa199254c3099a9ca70b9bd2839e.tar.gz gdb-64386c31df79fa199254c3099a9ca70b9bd2839e.tar.bz2 |
* linux-low.c (linux_resume): Take a struct thread_resume *
argument.
(linux_wait): Update call.
(resume_ptr): New static variable.
(linux_continue_one_thread): Renamed from
linux_continue_one_process. Use resume_ptr.
(linux_resume): Use linux_continue_one_thread.
* server.c (handle_v_cont, handle_v_requests): New functions.
(myresume): New function.
(main): Handle 'v' case.
* target.h (struct thread_resume): New type.
(struct target_ops): Change argument of "resume" to struct
thread_resume *.
(myresume): Delete macro.
Diffstat (limited to 'gdb/gdbserver/target.h')
-rw-r--r-- | gdb/gdbserver/target.h | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/gdb/gdbserver/target.h b/gdb/gdbserver/target.h index 1c47a3ae..aa0a44a 100644 --- a/gdb/gdbserver/target.h +++ b/gdb/gdbserver/target.h @@ -24,6 +24,25 @@ #ifndef TARGET_H #define TARGET_H +/* This structure describes how to resume a particular thread (or + all threads) based on the client's request. If thread is -1, then + this entry applies to all threads. These are generally passed around + as an array, and terminated by a thread == -1 entry. */ + +struct thread_resume +{ + int thread; + + /* If non-zero, leave this thread stopped. */ + int leave_stopped; + + /* If non-zero, we want to single-step. */ + int step; + + /* If non-zero, send this signal when we resume. */ + int sig; +}; + struct target_ops { /* Start a new process. @@ -56,14 +75,9 @@ struct target_ops int (*thread_alive) (int pid); - /* Resume the inferior process. - - If STEP is non-zero, we want to single-step. + /* Resume the inferior process. */ - If SIGNAL is nonzero, send the process that signal as we resume it. - */ - - void (*resume) (int step, int signo); + void (*resume) (struct thread_resume *resume_info); /* Wait for the inferior process to change state. @@ -132,9 +146,6 @@ void set_target_ops (struct target_ops *); #define mythread_alive(pid) \ (*the_target->thread_alive) (pid) -#define myresume(step,signo) \ - (*the_target->resume) (step, signo) - #define fetch_inferior_registers(regno) \ (*the_target->fetch_registers) (regno) |