30 #define get_thread(inf) ((struct thread_info *)(inf))
36 new_inferior->
next = NULL;
37 if (list->
tail != NULL)
40 list->
head = new_inferior;
41 list->
tail = new_inferior;
73 (*action) (cur, data);
84 if (list->
head == entry)
87 if (list->
tail == entry)
93 while (*cur && (*cur)->
next != entry)
101 if (list->
tail == entry)
110 memset (new_thread, 0,
sizeof (*new_thread));
112 new_thread->
entry.
id = thread_id;
114 new_thread->
last_status.kind = TARGET_WAITKIND_IGNORE;
118 if (current_thread == NULL)
119 current_thread = new_thread;
165 if (thread->
btrace != NULL)
179 if (list->
head != NULL)
198 if ((*func) (inf, arg))
270 current_thread = NULL;
278 process =
xcalloc (1,
sizeof (*process));
struct thread_info * current_thread
struct process_info * add_process(int pid, int attached)
struct inferior_list all_threads
struct btrace_target_info * btrace
void for_each_inferior_with_data(struct inferior_list *list, void(*action)(struct inferior_list_entry *, void *), void *data)
struct thread_info * add_thread(ptid_t thread_id, void *target_data)
void clear_symbol_cache(struct sym_cache **symcache_p)
int ptid_equal(ptid_t ptid1, ptid_t ptid2)
struct thread_info * get_first_thread(void)
struct inferior_list_entry entry
void set_inferior_regcache_data(struct thread_info *inferior, void *data)
struct process_info * get_thread_process(struct thread_info *thread)
struct process_info * find_process_pid(int pid)
void for_each_inferior(struct inferior_list *list, void(*action)(struct inferior_list_entry *))
void free_all_breakpoints(struct process_info *proc)
int have_attached_inferiors_p(void)
enum resume_kind last_resume_kind
struct inferior_list_entry entry
void * inferior_target_data(struct thread_info *inferior)
void add_inferior_to_list(struct inferior_list *list, struct inferior_list_entry *new_inferior)
void remove_inferior(struct inferior_list *list, struct inferior_list_entry *entry)
void set_inferior_target_data(struct thread_info *inferior, void *data)
ptid_t pid_to_ptid(int pid)
ptid_t thread_to_gdb_id(struct thread_info *thread)
static void free_one_thread(struct inferior_list_entry *inf)
struct inferior_list_entry * tail
void remove_process(struct process_info *process)
static int attached_inferior_callback(struct inferior_list_entry *entry, void *args)
struct process_info * current_process(void)
struct inferior_list_entry * head
struct inferior_list all_processes
ptid_t gdb_id_to_thread_id(ptid_t gdb_id)
struct inferior_list_entry * find_inferior_id(struct inferior_list *list, ptid_t id)
int ptid_get_pid(ptid_t ptid)
struct sym_cache * symbol_cache
void * inferior_regcache_data(struct thread_info *inferior)
struct inferior_list_entry * next
void remove_thread(struct thread_info *thread)
int one_inferior_p(struct inferior_list *list)
struct target_waitstatus last_status
int have_started_inferiors_p(void)
struct inferior_list_entry * get_first_inferior(struct inferior_list *list)
void free_register_cache(struct regcache *regcache)
static int started_inferior_callback(struct inferior_list_entry *entry, void *args)
struct thread_info * find_thread_ptid(ptid_t ptid)
PTR xcalloc(size_t number, size_t size)
void clear_inferiors(void)
void clear_inferior_list(struct inferior_list *list)
struct inferior_list_entry * find_inferior(struct inferior_list *list, int(*func)(struct inferior_list_entry *, void *), void *arg)
#define target_disable_btrace(tinfo)