Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(624)

Side by Side Diff: gdb/gdbthread.h

Issue 11969036: Merge GDB 7.5.1 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@master
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gdb/gdbserver/win32-low.c ('k') | gdb/gdbtypes.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* Multi-process/thread control defs for GDB, the GNU debugger. 1 /* Multi-process/thread control defs for GDB, the GNU debugger.
2 Copyright (C) 1987-1993, 1997-2000, 2007-2012 Free Software 2 Copyright (C) 1987-1993, 1997-2000, 2007-2012 Free Software
3 Foundation, Inc. 3 Foundation, Inc.
4 Contributed by Lynx Real-Time Systems, Inc. Los Gatos, CA. 4 Contributed by Lynx Real-Time Systems, Inc. Los Gatos, CA.
5 5
6 6
7 This file is part of GDB. 7 This file is part of GDB.
8 8
9 This program is free software; you can redistribute it and/or modify 9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by 10 it under the terms of the GNU General Public License as published by
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 bpstat stop_bpstat; 116 bpstat stop_bpstat;
117 }; 117 };
118 118
119 /* Inferior thread specific part of `struct infcall_suspend_state'. 119 /* Inferior thread specific part of `struct infcall_suspend_state'.
120 120
121 Inferior process counterpart is `struct inferior_suspend_state'. */ 121 Inferior process counterpart is `struct inferior_suspend_state'. */
122 122
123 struct thread_suspend_state 123 struct thread_suspend_state
124 { 124 {
125 /* Last signal that the inferior received (why it stopped). */ 125 /* Last signal that the inferior received (why it stopped). */
126 enum target_signal stop_signal; 126 enum gdb_signal stop_signal;
127 }; 127 };
128 128
129 struct thread_info 129 struct thread_info
130 { 130 {
131 struct thread_info *next; 131 struct thread_info *next;
132 ptid_t ptid; /* "Actual process id"; 132 ptid_t ptid; /* "Actual process id";
133 In fact, this may be overloaded with 133 In fact, this may be overloaded with
134 kernel thread id, etc. */ 134 kernel thread id, etc. */
135 int num; /* Convenient handle (GDB thread id) */ 135 int num; /* Convenient handle (GDB thread id) */
136 136
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 209
210 /* This is used to remember when a fork or vfork event was caught by 210 /* This is used to remember when a fork or vfork event was caught by
211 a catchpoint, and thus the event is to be followed at the next 211 a catchpoint, and thus the event is to be followed at the next
212 resume of the thread, and not immediately. */ 212 resume of the thread, and not immediately. */
213 struct target_waitstatus pending_follow; 213 struct target_waitstatus pending_follow;
214 214
215 /* True if this thread has been explicitly requested to stop. */ 215 /* True if this thread has been explicitly requested to stop. */
216 int stop_requested; 216 int stop_requested;
217 217
218 /* The initiating frame of a nexting operation, used for deciding 218 /* The initiating frame of a nexting operation, used for deciding
219 which exceptions to intercept. */ 219 which exceptions to intercept. If it is null_frame_id no
220 bp_longjmp or bp_exception but longjmp has been caught just for
221 bp_longjmp_call_dummy. */
220 struct frame_id initiating_frame; 222 struct frame_id initiating_frame;
221 223
222 /* Private data used by the target vector implementation. */ 224 /* Private data used by the target vector implementation. */
223 struct private_thread_info *private; 225 struct private_thread_info *private;
224 226
225 /* Function that is called to free PRIVATE. If this is NULL, then 227 /* Function that is called to free PRIVATE. If this is NULL, then
226 xfree will be called on PRIVATE. */ 228 xfree will be called on PRIVATE. */
227 void (*private_dtor) (struct private_thread_info *); 229 void (*private_dtor) (struct private_thread_info *);
228 }; 230 };
229 231
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 extern struct thread_info *any_live_thread_of_process (int pid); 294 extern struct thread_info *any_live_thread_of_process (int pid);
293 295
294 /* Change the ptid of thread OLD_PTID to NEW_PTID. */ 296 /* Change the ptid of thread OLD_PTID to NEW_PTID. */
295 void thread_change_ptid (ptid_t old_ptid, ptid_t new_ptid); 297 void thread_change_ptid (ptid_t old_ptid, ptid_t new_ptid);
296 298
297 /* Iterator function to call a user-provided callback function 299 /* Iterator function to call a user-provided callback function
298 once for each known thread. */ 300 once for each known thread. */
299 typedef int (*thread_callback_func) (struct thread_info *, void *); 301 typedef int (*thread_callback_func) (struct thread_info *, void *);
300 extern struct thread_info *iterate_over_threads (thread_callback_func, void *); 302 extern struct thread_info *iterate_over_threads (thread_callback_func, void *);
301 303
304 /* Traverse all threads. */
305
306 #define ALL_THREADS(T) \
307 for (T = thread_list; T; T = T->next)
308
302 extern int thread_count (void); 309 extern int thread_count (void);
303 310
304 /* Switch from one thread to another. */ 311 /* Switch from one thread to another. */
305 extern void switch_to_thread (ptid_t ptid); 312 extern void switch_to_thread (ptid_t ptid);
306 313
307 /* Marks thread PTID is running, or stopped. 314 /* Marks thread PTID is running, or stopped.
308 If PIDGET (PTID) is -1, marks all threads. */ 315 If PIDGET (PTID) is -1, marks all threads. */
309 extern void set_running (ptid_t ptid, int running); 316 extern void set_running (ptid_t ptid, int running);
310 317
311 /* Marks or clears thread(s) PTID as having been requested to stop. 318 /* Marks or clears thread(s) PTID as having been requested to stop.
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 int pid); 389 int pid);
383 390
384 extern struct cleanup *make_cleanup_restore_current_thread (void); 391 extern struct cleanup *make_cleanup_restore_current_thread (void);
385 392
386 /* Returns a pointer into the thread_info corresponding to 393 /* Returns a pointer into the thread_info corresponding to
387 INFERIOR_PTID. INFERIOR_PTID *must* be in the thread list. */ 394 INFERIOR_PTID. INFERIOR_PTID *must* be in the thread list. */
388 extern struct thread_info* inferior_thread (void); 395 extern struct thread_info* inferior_thread (void);
389 396
390 extern void update_thread_list (void); 397 extern void update_thread_list (void);
391 398
399 extern struct thread_info *thread_list;
400
392 #endif /* GDBTHREAD_H */ 401 #endif /* GDBTHREAD_H */
OLDNEW
« no previous file with comments | « gdb/gdbserver/win32-low.c ('k') | gdb/gdbtypes.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698