Browse Source

2001-06-29 Ken Whaley <ken@believe.com>

* thread-db.c (attach_thread): Check for TD_THR_ZOMBIE in addition
	to TD_THR_UNKNOWN when looking for defunct zombie threads.
	(thread_db_thread_alive): Ditto.
	(find_new_threads_callback): Ditto.
dberlin-typesystem-branch
Michael Snyder 26 years ago
parent
commit
00783ba94c
  1. 7
      gdb/ChangeLog
  2. 10
      gdb/thread-db.c

7
gdb/ChangeLog

@ -1,3 +1,10 @@
2001-06-29 Ken Whaley <ken@believe.com>
* thread-db.c (attach_thread): Check for TD_THR_ZOMBIE in addition
to TD_THR_UNKNOWN when looking for defunct zombie threads.
(thread_db_thread_alive): Ditto.
(find_new_threads_callback): Ditto.
2001-07-02 Daniel Jacobowitz <drow@mvista.com>
* MAINTAINERS: Add myself to the write-after-approval list.

10
gdb/thread-db.c

@ -573,7 +573,8 @@ attach_thread (ptid_t ptid, const td_thrhandle_t *th_p,
tp->private = xmalloc (sizeof (struct private_thread_info));
tp->private->lwpid = ti_p->ti_lid;
if (ti_p->ti_state == TD_THR_UNKNOWN)
if (ti_p->ti_state == TD_THR_UNKNOWN ||
ti_p->ti_state == TD_THR_ZOMBIE)
return;/* A zombie thread that's been joined -- do not attach. */
/* Under Linux, we have to attach to each and every thread. */
@ -915,7 +916,8 @@ thread_db_thread_alive (ptid_t ptid)
if (err != TD_OK)
return 0;
if (ti.ti_state == TD_THR_UNKNOWN)
if (ti.ti_state == TD_THR_UNKNOWN ||
ti.ti_state == TD_THR_ZOMBIE)
return 0; /* A zombie thread that's been joined. */
return 1;
@ -938,7 +940,9 @@ find_new_threads_callback (const td_thrhandle_t *th_p, void *data)
if (err != TD_OK)
error ("Cannot get thread info: %s", thread_db_err_str (err));
if (ti.ti_state == TD_THR_UNKNOWN)
if (ti.ti_state == TD_THR_UNKNOWN ||
ti.ti_state == TD_THR_ZOMBIE)
return 0; /* A zombie that's been reaped -- ignore. */
ptid = BUILD_THREAD (ti.ti_tid, GET_PID (inferior_ptid));

Loading…
Cancel
Save