[BACK]Return to pthread_dbg.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib / libpthread_dbg

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/lib/libpthread_dbg/Attic/pthread_dbg.c between version 1.21 and 1.22

version 1.21, 2004/06/03 00:31:28 version 1.22, 2004/06/03 15:22:08
Line 1074  int
Line 1074  int
 td_thr_suspend(td_thread_t *thread)  td_thr_suspend(td_thread_t *thread)
 {  {
         int tmp, tmp1, val;          int tmp, tmp1, val;
         caddr_t addr, sp, nthread, qaddr;          caddr_t addr, sp, nthreadaddr, qaddr;
           td_thread_t *nthread;
         struct reg r;          struct reg r;
         struct fpreg fr;          struct fpreg fr;
         ucontext_t uc;          ucontext_t uc;
Line 1151  td_thr_suspend(td_thread_t *thread)
Line 1152  td_thr_suspend(td_thread_t *thread)
                         }                          }
                 }                  }
   
                 nthread = (caddr_t)(void *)qhead.ptqh_first;                  nthreadaddr = (caddr_t)(void *)qhead.ptqh_first;
                 DPTQ_REMOVE(qaddr, nthread, pt_runq);                  DPTQ_REMOVE(qaddr, nthreadaddr, pt_runq);
                 val = READ(thread->proc,                  val = READ(thread->proc,
                     nthread + offsetof(struct __pthread_st, pt_trapuc),                      nthreadaddr + offsetof(struct __pthread_st, pt_trapuc),
                     &addr, sizeof(addr));                      &addr, sizeof(addr));
                 if (val != 0)                  if (val != 0)
                         return val;                          return val;
                 if (addr == 0) {                  if (addr == 0) {
                         val = READ(thread->proc,                          val = READ(thread->proc,
                             nthread + offsetof(struct __pthread_st, pt_uc),                              nthreadaddr + offsetof(struct __pthread_st, pt_uc),
                             &addr, sizeof(addr));                              &addr, sizeof(addr));
                         if (val != 0)                          if (val != 0)
                                 return val;                                  return val;
Line 1177  td_thr_suspend(td_thread_t *thread)
Line 1178  td_thr_suspend(td_thread_t *thread)
                 if (val != 0)                  if (val != 0)
                         return val;                          return val;
   
                   td__getthread(thread->proc, nthreadaddr, &nthread);
                 nthread->lwp = thread->lwp;                  nthread->lwp = thread->lwp;
                 thread->lwp = -1;                  thread->lwp = -1;
                 break;                  break;

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.22

CVSweb <webmaster@jp.NetBSD.org>