diff options
author | Ulrich Drepper <drepper@redhat.com> | 1999-11-02 23:44:42 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1999-11-02 23:44:42 +0000 |
commit | a9cb398f7b2a6a8549ec33cdcc99f510566d3819 (patch) | |
tree | 03683c10060e9a77ed564004e04fa4e8c043db5d /linuxthreads_db/td_thr_setgregs.c | |
parent | 03fc7ab6ed4bc2f71964a3d31ad578821256b6bc (diff) | |
download | glibc-a9cb398f7b2a6a8549ec33cdcc99f510566d3819.tar.gz glibc-a9cb398f7b2a6a8549ec33cdcc99f510566d3819.tar.xz glibc-a9cb398f7b2a6a8549ec33cdcc99f510566d3819.zip |
Update.
1999-11-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/i386/sys/procfs.h: Include sys/ucontext.h instead of duplicating definitions.
Diffstat (limited to 'linuxthreads_db/td_thr_setgregs.c')
-rw-r--r-- | linuxthreads_db/td_thr_setgregs.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/linuxthreads_db/td_thr_setgregs.c b/linuxthreads_db/td_thr_setgregs.c index 1de2d3c554..72f95b1ca7 100644 --- a/linuxthreads_db/td_thr_setgregs.c +++ b/linuxthreads_db/td_thr_setgregs.c @@ -28,12 +28,14 @@ td_thr_setgregs (const td_thrhandle_t *th, prgregset_t gregs) LOG (__FUNCTION__); - /* We have to get the PID for this thread. */ + /* We have to get the state and the PID for this thread. */ if (ps_pdread (th->th_ta_p->ph, th->th_unique, &pds, sizeof (struct _pthread_descr_struct)) != PS_OK) return TD_ERR; - if (ps_lsetregs (th->th_ta_p->ph, pds.p_pid, gregs) != PS_OK) + /* Only set the registers if the thread hasn't yet terminated. */ + if (pds.p_terminated == 0 + && ps_lsetregs (th->th_ta_p->ph, pds.p_pid, gregs) != PS_OK) return TD_ERR; return TD_OK; |