Infinite loop bug in libc_r on 4.x with condition variables a nd signals

Daniel Eischen deischen at freebsd.org
Thu Oct 28 16:08:45 PDT 2004


On Thu, 28 Oct 2004, Julian Elischer wrote:

>
>
> David Xu wrote:
>
> > Here is the cvs log:
> >
> > Revision  Changes    Path
> >   1.58      +1 -0      src/lib/libpthread/thread/thr_create.c
> >   1.14      +1 -1      src/lib/libpthread/thread/thr_find_thread.c
> >   1.115     +27 -10    src/lib/libpthread/thread/thr_kern.c
> >   1.119     +15 -11    src/lib/libpthread/thread/thr_private.h
> >   1.81      +1 -2      src/lib/libpthread/thread/thr_sig.c
>
> commit message was:
> 1. Move thread list flags into new separate member, and atomically
>    put DEAD thread on GC list, this closes a race between pthread_join
>    and thr_cleanup.
> 2. Introduce a mutex to protect tcb initialization, tls allocation and
>    deallocation code in rtld seems no lock protection or it is broken,
>    under stress testing, memory is corrupted.
>
>
> translates to:

Yes, these look right.

-- 
Dan Eischen



More information about the freebsd-threads mailing list