> Date: Sat, 9 May 2015 16:31:25 -0700
> From: Philip Guenther <[email protected]>
> 
> On Thu, 7 May 2015, David Coppa wrote:
> > Can somebody with the necessary skills help me with this?
> > 
> > $ cd /usr/ports/devel/libinotify/ && make clean fake && make test 
> > 
> > I remember this used to work... Now, most of the times, the
> > 'check_libinotify' process brings the CPU to 100% and it's stuck
> > in a sched_yield() loop:
> 
> Looks like the problem is that while one thread is calling vfork(), 
> another thread does something that acquires the spinlock inside 
> rthread_dl_lock() (probably another vfork).  The child of the vfork tries 
> to acquire the spinlock so that it can release the recursive lock itself 
> and spins forever.  The solution is to have the child reset that lock.  
> I'm unable to reproduce after applying the diff below.
> 
> oks?

ok kettenis@

Reply via email to