> 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@
