aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/pthread.c1
-rw-r--r--linuxthreads_db/ChangeLog6
-rw-r--r--linuxthreads_db/proc_service.h2
-rw-r--r--linuxthreads_db/td_thr_get_info.c2
5 files changed, 15 insertions, 1 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index a670e9f93a..2a69af79df 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,8 @@
+1999-11-08 Ulrich Drepper <drepper@cygnus.com>
+
+ * pthread.c (__pthread_initialize_manager): Initialize
+ __pthread_manager_thread.p_tid.
+
1999-11-02 Ulrich Drepper <drepper@cygnus.com>
* internals.h: Declare __pthread_last_event.
diff --git a/linuxthreads/pthread.c b/linuxthreads/pthread.c
index 5296c1e349..ab1a0f189e 100644
--- a/linuxthreads/pthread.c
+++ b/linuxthreads/pthread.c
@@ -398,6 +398,7 @@ int __pthread_initialize_manager(void)
}
__pthread_manager_request = manager_pipe[1]; /* writing end */
__pthread_manager_reader = manager_pipe[0]; /* reading end */
+ __pthread_manager_thread.p_tid = 2* PTHREAD_THREADS_MAX + 1;
__pthread_manager_thread.p_pid = pid;
/* Make gdb aware of new thread manager */
if (__pthread_threads_debug && __pthread_sig_debug > 0)
diff --git a/linuxthreads_db/ChangeLog b/linuxthreads_db/ChangeLog
index f2286c99b2..f450d4828e 100644
--- a/linuxthreads_db/ChangeLog
+++ b/linuxthreads_db/ChangeLog
@@ -1,3 +1,9 @@
+1999-11-08 Ulrich Drepper <drepper@cygnus.com>
+
+ * td_thr_get_info.c: Make sure ti_lid is never zero.
+
+ * proc_service.h: Add ps_getpid prototype.
+
1999-11-03 Ulrich Drepper <drepper@cygnus.com>
* thread_dbP.h (ta_ok): New function.
diff --git a/linuxthreads_db/proc_service.h b/linuxthreads_db/proc_service.h
index 108a86696e..8907b475f5 100644
--- a/linuxthreads_db/proc_service.h
+++ b/linuxthreads_db/proc_service.h
@@ -59,3 +59,5 @@ extern ps_err_e ps_lgetfpregs(struct ps_prochandle *,
lwpid_t, prfpregset_t *);
extern ps_err_e ps_lsetfpregs(struct ps_prochandle *,
lwpid_t, const prfpregset_t *);
+
+extern pid_t ps_getpid (struct ps_prochandle *);
diff --git a/linuxthreads_db/td_thr_get_info.c b/linuxthreads_db/td_thr_get_info.c
index 21f9f68d07..25ad3408a9 100644
--- a/linuxthreads_db/td_thr_get_info.c
+++ b/linuxthreads_db/td_thr_get_info.c
@@ -64,7 +64,7 @@ td_thr_get_info (const td_thrhandle_t *th, td_thrinfo_t *infop)
}
/* Initialization which are the same in both cases. */
- infop->ti_lid = pds.p_pid;
+ infop->ti_lid = pds.p_pid ?: ps_getpid (th->th_ta_p->ph);
infop->ti_ta_p = th->th_ta_p;
infop->ti_startfunc = pds.p_start_args.start_routine;
memcpy (&infop->ti_events, &pds.p_eventbuf.eventmask,