/* Multi-thread control defs for remote server for GDB.
- Copyright (C) 1993-2013 Free Software Foundation, Inc.
+ Copyright (C) 1993-2014 Free Software Foundation, Inc.
This file is part of GDB.
#define GDB_THREAD_H
#include "server.h"
+#include "inferiors.h"
struct btrace_target_info;
struct thread_info
{
+ /* This must appear first. See inferiors.h.
+ The list iterator functions assume it. */
struct inferior_list_entry entry;
+
void *target_data;
void *regcache_data;
/* The last wait status reported for this thread. */
struct target_waitstatus last_status;
+ /* True if LAST_STATUS hasn't been reported to GDB yet. */
+ int status_pending_p;
+
/* Given `while-stepping', a thread may be collecting data for more
than one tracepoint simultaneously. E.g.:
void add_thread (ptid_t ptid, void *target_data);
struct thread_info *find_thread_ptid (ptid_t ptid);
-struct thread_info *gdb_id_to_thread (unsigned int);
/* Get current thread ID (Linux task ID). */
-#define current_ptid ((struct inferior_list_entry *) current_inferior)->id
+#define current_ptid (current_inferior->entry.id)
+
#endif /* GDB_THREAD_H */