cvs commit: src/lib/libpthread/thread thr_private.h thr_sig.c
    Daniel Eischen 
    deischen at freebsd.org
       
    Wed Nov  3 11:59:18 PST 2004
    
    
  
On Wed, 3 Nov 2004, John Baldwin wrote:
> On Tuesday 02 November 2004 06:40 pm, Daniel Eischen wrote:
> >
> > I think if _kse_critical_leave() were replaced by _kcb_critical_leave()
> > at around line 676 in thr_kern.c, that should fix the problem, no?
> > There's no reason to do a yield check after leaving the scheduler,
> > and the check for signals and cancellation is done right after
> > that point before returning.
>
> Well, it moved it. :)  Now thr_sig_rundown() is called from thr_resume_check()
> from thr_sched_switch_unlocked(), but psf->valid is zero, so it still doesn't
> work.  What would happen if the signal came in before curthread->frame was
> set to &psf in thread_sched_switch_unlocked()?
That would cause the problem also.  How's this look?
  http://people.freebsd.org/~deischen/kse/libpthread.cond.diffs
-- 
Dan Eischen
    
    
More information about the cvs-all
mailing list