Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 9 Nov 1999 01:18:02 +0000 (01:18 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 9 Nov 1999 01:18:02 +0000 (01:18 +0000)
1999-11-08  Ulrich Drepper  <drepper@cygnus.com>

* pthread.c (__pthread_initialize_manager): Initialize
__pthread_manager_thread.p_tid.

linuxthreads/ChangeLog
linuxthreads/pthread.c
linuxthreads_db/ChangeLog
linuxthreads_db/proc_service.h
linuxthreads_db/td_thr_get_info.c

index a670e9f..2a69af7 100644 (file)
@@ -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.
index 5296c1e..ab1a0f1 100644 (file)
@@ -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)
index f2286c9..f450d48 100644 (file)
@@ -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.
index 108a866..8907b47 100644 (file)
@@ -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 *);
index 21f9f68..25ad340 100644 (file)
@@ -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,