summary refs log tree commit diff
path: root/linuxthreads_db/thread_dbP.h
diff options
context:
space:
mode:
Diffstat (limited to 'linuxthreads_db/thread_dbP.h')
-rw-r--r--linuxthreads_db/thread_dbP.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/linuxthreads_db/thread_dbP.h b/linuxthreads_db/thread_dbP.h
index 60921834d9..7e9fb486c6 100644
--- a/linuxthreads_db/thread_dbP.h
+++ b/linuxthreads_db/thread_dbP.h
@@ -50,4 +50,29 @@ struct td_thragent
 };
 
 
+/* Type used internally to keep track of thread agent descriptors.  */
+struct agent_list
+{
+  td_thragent_t *ta;
+  struct agent_list *next;
+};
+
+/* List of all known descriptors.  */
+extern struct agent_list *__td_agent_list;
+
+/* Function used to test for correct thread agent pointer.  */
+static inline int
+ta_ok (const td_thragent_t *ta)
+{
+  struct agent_list *runp = __td_agent_list;
+
+  if (ta == NULL)
+    return 0;
+
+  while (runp != NULL && runp->ta != ta)
+    runp = runp->next;
+
+  return runp != NULL;
+}
+
 #endif /* thread_dbP.h */